【发布时间】:2017-11-13 20:43:30
【问题描述】:
我想知道如何等待 socket.on 调用。我知道可以使用here 描述的回调,但这不适用于我的情况(至少我认为不是)。以下是我所拥有的:
index.html
...
socket.on('update_img', function(data) {
// Do something
});
scanner.addListener('scan', function(content) {
socket.emit('answer', content);
});
然后在服务器上:
...
client.emit('update_img', some_data);
...
client.on('answer', function(data) {
// do something with the answer
});
基本上发生了什么,我将一些东西发送到前端,然后生成图像。同时,浏览器中的库(instascan,即scanner.addListener)等待读取二维码并将其内容发送回服务器。所以我现在需要的是client.on('answer', ...); 等待这个答案。
有什么办法可以做到吗?
【问题讨论】:
-
你试过了吗?您的代码应该可以工作。
-
当然是的,否则我不会问 ;-)
-
你能把 console.log() 语句放在每个回调中,看看你能走多远?
-
您可以生成唯一的事件名称,订阅它,并将名称传递给服务器
标签: javascript node.js socket.io