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 callbackcallback(resultList)
中,我得到的结果列表为空
我已经检查了resultList.push(result)
是否成功地将结果添加到resultList数组中
我认为问题在于一些我无法理解的小细节
有人能帮我吗
问候。
克莱森·里奥斯。我解决了这个问题
callbackFlow()
在resultList.push()
之前被执行,因此我必须将callbackFlow()
放在指示器的内部。按如下方式执行:
indicador.execute(item, data.fechamento, function(result) {
resultList.push(result);
callbackFlow();
});