Javascript 基于事件到达恢复执行的节点JS
我有一个NodeJS应用程序,它侦听从实体a的套接字接收的事件,并根据这些事件执行操作。此操作包括基于承诺链对不同实体(包括)的调用 我实际需要实现的是一种机制,调用实体a中的操作,并基于新事件而不是响应执行回调。因此,流程将是:Javascript 基于事件到达恢复执行的节点JS,javascript,node.js,Javascript,Node.js,我有一个NodeJS应用程序,它侦听从实体a的套接字接收的事件,并根据这些事件执行操作。此操作包括基于承诺链对不同实体(包括)的调用 我实际需要实现的是一种机制,调用实体a中的操作,并基于新事件而不是响应执行回调。因此,流程将是: return new RSVP.Promise(function (resolve, reject) { run action1(); .then(function (response) { return action2();
return new RSVP.Promise(function (resolve, reject) {
run action1();
.then(function (response) {
return action2();
})
.then(function (response) {
return action3();
})
.then(function (response) {
// code to wait for an event to arrive and resume this
})
}
这能实现吗 你似乎不需要周围的
新承诺,似乎是这样。假设run\u action
返回承诺,则只需:
return run_action1()
.then(function (response) {
return action2();
})
.then(function (response) {
return action3();
})
.then(function (response) {
return new Promise(function(resolve, reject) {
listen(resolve);
});
})
.then(somethingElse);
实际上我不知道如何实现。什么是运行操作
?它是否回报了承诺?你为什么在它后面写了一个分号?谢谢你的回复。我想知道的是listen函数将如何实现,假设listen将等待事件到达。当事件到达时,为了恢复执行,我应该调用什么。您可以编写listen函数来执行从正在使用的事件发射器侦听事件所需的任何操作,通常类似于thing.on(“事件”,resolve)
。当事件到达时,您不需要调用任何东西来恢复执行。这就是承诺对你的作用。解决承诺后,将执行然后方法中指定的函数。