我100%肯定必须有一些简单的答案,但今天我在谷歌上搜索。代码中的问题。
async.waterfall([
function(callback){
callback(null, 'some value..');
}
],
function (err, result) {
// how do I get result outside of this block?
}
);
如果我在此块之外设置一个变量并尝试为其分配“result”,那么由于JavaScript范围的性质,它不会出现阻塞。
谢谢!
答案 0 :(得分:1)
感谢大家的回答。我做了什么 - 我改用了一个名为“step”的模块。它让我做以下事情:
step = require('step');
var responseData = '{"a":1, "b":2}';
step(
function someFunction1 () {
// We do something here and return the result
return '3';
},
function someFunction2 (err, result) {
// We try to modify the variable that has been defined outside this block
responseData.c = result;
}
);
// responseData now returns {"a":1, "b":2, "c":3}
也许我可以用异步做同样的事情 - 我不知道。但上述工作正是我想要的方式。