【发布时间】:2021-04-16 02:34:30
【问题描述】:
如何使用 async/await 或其他技术在消息处理程序中使用异步回调?消息可以随时出现,因此在异步函数中处理一条消息时,另一条消息可以进入并更快地处理。如果消息的顺序很重要,这就是一个问题。
socket.on('message', async (msg) => {
if(msg === 1){
await doFirstThing();
}
else if (msg === 2){
await doSecondThing();
}
});
如果doFirstThing() 需要一段时间,doSecondThing() 的消息可能会进来并且处理得太快。我正在考虑添加到一个数组然后承诺它,但我不知道如何将另一个承诺推到“堆栈”上,可以这么说,如果另一个承诺(或更多)正在等待..
【问题讨论】:
标签: javascript