Javascript 节点horseman调用队列
我正在开发一个网络刮板(在它的早期阶段),我计划做x个horseman调用。这个调用是基于承诺的,但我希望调用是顺序的,当一个完成时,下一个开始Javascript 节点horseman调用队列,javascript,node.js,web-scraping,node-horseman,Javascript,Node.js,Web Scraping,Node Horseman,我正在开发一个网络刮板(在它的早期阶段),我计划做x个horseman调用。这个调用是基于承诺的,但我希望调用是顺序的,当一个完成时,下一个开始 如何实现这种行为?您可以简单地执行以下操作: asyncCall(args[1]).done(() => asyncCall(args[2])) 这里asyncCall是您需要调用的任何函数。它接受一些参数并返回一个承诺 因此,您基本上是在等待一个调用的结果,然后调用第二个调用 然而,当有很多电话要打时,这会变得相当笨拙。如果您使用的是asyn
如何实现这种行为?您可以简单地执行以下操作:
asyncCall(args[1]).done(() => asyncCall(args[2]))
这里asyncCall
是您需要调用的任何函数。它接受一些参数并返回一个承诺
因此,您基本上是在等待一个调用的结果,然后调用第二个调用
然而,当有很多电话要打时,这会变得相当笨拙。如果您使用的是async/await
,考虑到您正在处理一个新项目,您应该这样做,您可以更好地对其进行编码,如:
await asyncCall(args[1]);
await asyncCall(args[2]);
...
或者,更好的是:
for (let arg of args) {
await asyncCall(arg)
}
您可以简单地执行以下操作:
asyncCall(args[1]).done(() => asyncCall(args[2]))
这里asyncCall
是您需要调用的任何函数。它接受一些参数并返回一个承诺
因此,您基本上是在等待一个调用的结果,然后调用第二个调用
然而,当有很多电话要打时,这会变得相当笨拙。如果您使用的是async/await
,考虑到您正在处理一个新项目,您应该这样做,您可以更好地对其进行编码,如:
await asyncCall(args[1]);
await asyncCall(args[2]);
...
或者,更好的是:
for (let arg of args) {
await asyncCall(arg)
}