0

我有以下代码:

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

出于某种原因,在最终的 flow.parallel 回调中callback(resultList) ,我将 resultList 设为空。

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

我认为问题是我无法弄清楚的一些小细节。

有人能帮我吗 ?

问候。克莱森里奥斯。

4

1 回答 1

0

我解决了这个问题。callbackFlow()在 than 之前被执行resultList.push(),所以我不得不把 as 放在callbackFlow()里面indicador.execute

indicador.execute(item, data.fechamento, function(result) {
    resultList.push(result);
    callbackFlow();
});
于 2014-09-24T17:44:04.237 回答