我正在开发一个Web抓取工具(处于早期阶段),我打算进行x骑马呼叫。该调用是基于promise的,但是我希望这些调用按顺序进行,当一个完成时,下一个开始。
我该如何实现这种行为?
最佳答案
您可以简单地执行以下操作:
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)
}