diff options
Diffstat (limited to 'examples/jarvis.js')
-rw-r--r-- | examples/jarvis.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/examples/jarvis.js b/examples/jarvis.js index 8b67961..e0cb82f 100644 --- a/examples/jarvis.js +++ b/examples/jarvis.js @@ -54,6 +54,26 @@ function identity(sender){ }); } +let response = new Space(); +response.adhoc('yes, my liege'); +let queue = []; // Must be expanded to handle actual use cases +let open = true; +function send(){ + if (queue.length == 0) open = true; + else{ + main.write(queue.shift()); + setTimeout(send, 1000); + } +} function respond(coord){ + response.loc = coord; console.log('called at', coord); + if (open){ + main.write(response.towrite()); + setTimeout(send, 1000); + } else { + queue.push(response.towrite()); + } + send(response.towrite()); + main.write(response.towrite()); } |