Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点horseman调用队列_Javascript_Node.js_Web Scraping_Node Horseman - Fatal编程技术网

Javascript 节点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

我正在开发一个网络刮板(在它的早期阶段),我计划做x个horseman调用。这个调用是基于承诺的,但我希望调用是顺序的,当一个完成时,下一个开始


如何实现这种行为?

您可以简单地执行以下操作:

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)
}