node-horseman调用队列
Queue of node-horseman calls
我正在开发一个网络抓取工具(处于早期阶段),我计划进行 x horseman 调用。此调用是基于承诺的,但我希望调用按顺序进行,当一个完成时,下一个开始。
我怎样才能实现这种行为?
您可以简单地执行以下操作:
asyncCall(args[1]).done(() => asyncCall(args[2]))
此处asyncCall
是您需要调用的任何函数。它需要一些参数和 returns a Promise
.
所以你基本上是在等待第一个调用的结果,然后调用第二个调用。
但是,当需要进行大量调用时,这会变得非常笨拙。如果您正在使用 async/await
,考虑到您正在处理一个新项目,您应该使用它,您可以更好地编写代码,例如:
await asyncCall(args[1]);
await asyncCall(args[2]);
...
或者,甚至更好:
for (let arg of args) {
await asyncCall(arg)
}
我正在开发一个网络抓取工具(处于早期阶段),我计划进行 x horseman 调用。此调用是基于承诺的,但我希望调用按顺序进行,当一个完成时,下一个开始。
我怎样才能实现这种行为?
您可以简单地执行以下操作:
asyncCall(args[1]).done(() => asyncCall(args[2]))
此处asyncCall
是您需要调用的任何函数。它需要一些参数和 returns a Promise
.
所以你基本上是在等待第一个调用的结果,然后调用第二个调用。
但是,当需要进行大量调用时,这会变得非常笨拙。如果您正在使用 async/await
,考虑到您正在处理一个新项目,您应该使用它,您可以更好地编写代码,例如:
await asyncCall(args[1]);
await asyncCall(args[2]);
...
或者,甚至更好:
for (let arg of args) {
await asyncCall(arg)
}