2014-09-23 46 views
0

我有以下代碼:使用Node.js的在敏捷公共變量flow.parallel控制

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數組中的結果。

我認爲這個問題是我想不出的一些小細節。

有人可以幫助我嗎?

問候。 克萊森里奧斯。

回答

0

我想出了這個問題。 callbackFlow()執行前比resultList.push(),所以我不得不把callbackFlow()indicador.execute內爲:

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