Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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 在Node.js Nimble flow.parallel控件中使用公共变量_Javascript_Node.js_Flow Control_Nimble - Fatal编程技术网

Javascript 在Node.js Nimble flow.parallel控件中使用公共变量

Javascript 在Node.js Nimble flow.parallel控件中使用公共变量,javascript,node.js,flow-control,nimble,Javascript,Node.js,Flow Control,Nimble,我有以下代码: var flow = require('nimble'); exports.execute = function(data, estrategias, callback) { var estrategiaList = []; var resultList = []; for (var i in estrategias) { var estrategia = (function(item) {

我有以下代码:

var flow = require('nimble');

exports.execute = function(data, estrategias, callback) {

    var estrategiaList = [];
    var resultList = [];

    for (var i in estrategias)
    {
            var estrategia = (function(item) {

                    return function(callbackFlow) {

                            // Cria uma nova instancia do indicador
                            var indicador = loadIndicador(item);

                            // Executa indicador
                            indicador.execute(item, data.fechamento, function(result) {
                                    resultList.push(result);
                            });

                            callbackFlow();
                    }

            })(estrategias[i]);

            estrategiaList.push(estrategia);
    }

    flow.parallel(estrategiaList, function() {
            callback(resultList);
    });
};
由于某些原因,在final flow.parallel callback
callback(resultList)
中,我得到的结果列表为空

我已经检查了
resultList.push(result)
是否成功地将结果添加到resultList数组中

我认为问题在于一些我无法理解的小细节

有人能帮我吗

问候。
克莱森·里奥斯。

我解决了这个问题
callbackFlow()
resultList.push()
之前被执行,因此我必须将
callbackFlow()
放在
指示器的内部。按如下方式执行:

indicador.execute(item, data.fechamento, function(result) {
    resultList.push(result);
    callbackFlow();
});