diff options
-rw-r--r-- | examples/jarvis.js | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/examples/jarvis.js b/examples/jarvis.js index 9829c04..9b428e8 100644 --- a/examples/jarvis.js +++ b/examples/jarvis.js @@ -34,24 +34,26 @@ function identity(sender){ var read = new Search(search); var expire = {}; - main.on('tileUpdate', (send, source, tiles) => { - if (send == sender) return; //this may lead to issues later, but for now is used to count its own updates - let locs = tilekeys(tiles); + main.on('tileUpdate', tileHandler); +} + +function tileHandler(send, source, tiles){ + if (send == sender) return; //this may lead to issues later, but for now is used to count its own updates + let locs = tilekeys(tiles); - for (let i=0; i<locs.length; i++){ - let loc = locs[i]; - if (read.has(loc)){ - clearTimeout(expire[loc]); - delete expire[loc]; - read.del(loc); - } - let locspace = new Space(); - locspace.fromfetch(tiles, [loc, loc], conform=false); - let results = read.add(loc, locspace); - if (results.length > 0) respond(results); - expire[loc] = setTimeout(() => {read.del(loc)}, 30000); + for (let i=0; i<locs.length; i++){ + let loc = locs[i]; + if (read.has(loc)){ + clearTimeout(expire[loc]); + delete expire[loc]; + read.del(loc); } - }); + let locspace = new Space(); + locspace.fromfetch(tiles, [loc, loc], conform=false); + let results = read.add(loc, locspace); + if (results.length > 0) respond(results); + expire[loc] = setTimeout(() => {read.del(loc)}, 30000); + } } let response = new Space(); |