我正在开发一个网络刮刀(在早期阶段),我打算做x骑手电话。这个调用是基于promise的,但我希望调用是顺序的,当一个完成时,下一个启动。
我该如何实现这种行为?
答案 0 :(得分:0)
您可以简单地执行以下操作:
asyncCall(args[1]).done(() => asyncCall(args[2]))
此处asyncCall
是您需要调用的任何函数。它需要一些参数并返回Promise
。
所以你基本上等待一个电话的结果然后再调用第二个电话。
然而,当需要进行大量调用时,这可能变得相当笨拙。如果您正在使用async/await
,那么您应该为新项目工作,您可以更好地编写代码:
await asyncCall(args[1]);
await asyncCall(args[2]);
...
或者,甚至更好:
for (let arg of args) {
await asyncCall(arg)
}