mirror of
https://github.com/quine-global/hyper.git
synced 2026-01-16 21:58:39 -09:00
debounce session data events based on request animation frame
This commit is contained in:
parent
172d487055
commit
95141ac537
1 changed files with 15 additions and 1 deletions
16
lib/index.js
16
lib/index.js
|
|
@ -44,8 +44,22 @@ rpc.on('session add', data => {
|
||||||
store_.dispatch(sessionActions.addSession(data));
|
store_.dispatch(sessionActions.addSession(data));
|
||||||
});
|
});
|
||||||
|
|
||||||
|
let req, objects = {}
|
||||||
rpc.on('session data', ({uid, data}) => {
|
rpc.on('session data', ({uid, data}) => {
|
||||||
store_.dispatch(sessionActions.addSessionData(uid, data));
|
if (objects[uid] === undefined) {
|
||||||
|
objects[uid] = data;
|
||||||
|
} else {
|
||||||
|
objects[uid] += data;
|
||||||
|
}
|
||||||
|
if (!req) {
|
||||||
|
req = requestAnimationFrame(function () {
|
||||||
|
for (var i in objects) {
|
||||||
|
store_.dispatch(sessionActions.addSessionData(i, objects[i]));
|
||||||
|
}
|
||||||
|
objects = {};
|
||||||
|
req = null;
|
||||||
|
})
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
rpc.on('session data send', ({uid, data}) => {
|
rpc.on('session data send', ({uid, data}) => {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue