Concurrency Nodejs:并行请求,串行响应

Concurrency Nodejs:并行请求,串行响应,concurrency,node.js,Concurrency,Node.js,我为stormjs做了些什么,你可以查一下 但是并行循环仍然存在问题,例如,我们有一个函数requestContext(index,callback(err,context))哪个远程获取上下文“{index}”,我们需要获取[0-99]的上下文并按顺序将上下文推送到数组中,[context0…context99] 但很明显,这个输出无法工作 我仍然想知道noder是如何完成这项任务的,但您必须使这些请求并行,而不是一对一,它应该是并行请求和串行推送 var counter = 0; // cr

我为stormjs做了些什么,你可以查一下

但是并行循环仍然存在问题,例如,我们有一个函数
requestContext(index,callback(err,context))
哪个远程获取上下文“{index}”,我们需要获取
[0-99]
的上下文并按顺序将上下文推送到数组中,
[context0…context99]

但很明显,这个输出无法工作

我仍然想知道noder是如何完成这项任务的,但您必须使这些请求并行,而不是一对一,它应该是并行请求和串行推送

var counter = 0;
// create an array with numbers 0 to 99.

_.range(0,100).forEach(function(key, value, arr) {
    // for each of them request context
    requestContext(key, function(err, context) {
        // add the context to the array under the correct key
        if (!err) {
            arr[key] = context;
        }
        // increment counter, if all have finished then fire finished.
        if (++counter === 100) {
            finished(arr);
        }
    });
});

function finished(results) {
    // do stuff
}
不需要暴风雨。如果您想要一个执行/流控制库,我建议您使用,因为它不会编译您的代码,而且“隐藏了魔力”

之前,您对每一个进行递归,并以串行顺序执行它们,将它们按顺序推入数组

这一次,您将并行执行它们,并告诉每一个将数组中正确的有序键分配给它们自己的值


创建包含值0到99的数组

你为什么用storm来做这个?你为什么不写一篇没有风暴的文章呢?我不是在用风暴,我是在为这个创作风暴。我必须确保storm得到了这个案例的最佳代码,也是类似的案例。问题是如何在没有stormjs的情况下做到这一点。谢谢。为什么以前串行和这个并行,因为代码说。下一个循环是否取决于上一个删除,将决定串行还是并行。@guillin上一个示例让每个请求返回下一个请求所需的
url
。这一次,你有所有的100个URL在前面,所以你可以并行启动它们。