debounce session data events based on request animation frame

This commit is contained in:
Guillermo Rauch 2017-02-16 02:16:41 -03:00
parent 172d487055
commit 95141ac537

View file

@ -44,8 +44,22 @@ rpc.on('session add', data => {
store_.dispatch(sessionActions.addSession(data));
});
let req, objects = {}
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}) => {