2017-07-06 24 views
1

我正在开发一个网页抓取工具(处于早期阶段),并且我打算做x个骑手呼叫。这些电话是基于承诺的,但我希望这些电话能够按顺序进行,当电话结束时,下一次开始。节点 - 骑手呼叫的队列

我该如何实现这种行为?

回答

0

你可以简单地这样做:

asyncCall(args[1]).done(() => asyncCall(args[2])) 

这里asyncCall是你需要调用什么功能。它需要一些参数并返回Promise

所以你基本上是在等待一个调用的结果,然后调用第二个调用。

但是,当需要进行大量呼叫时,这可能会相当笨重。

await asyncCall(args[1]); 
await asyncCall(args[2]); 
... 

,或者甚至更好:

for (let arg of args) { 
    await asyncCall(arg) 
} 
如果使用 async/await,你应该,因为你在一个新的项目,则可以更好的代码一样它