Node/Javascript - 多个回调和 for 循环中的变量访问
Node/Javascript - variable access within multiple callbacks and for loop
我有一个回调函数,其中包含一个包含另一个回调的 for 循环。
我正在努力理解变量范围。我需要在整个嵌套结构中访问 out
变量:
var out = {"foo":123};
persistence.getAllApiKeys(function(err, allKeys){
for (var prop in allKeys) {
out = {"baz":456};
persistence.getApiKeyValue("test", function(err2, value) {
out = {"success":true}; // <--does not update
});
}
console.log(out);
})
输出:
{ baz: 456 }
如何访问最终回调中的 out 变量?即将其设置为 "success":true
?
经典异步。
console.log
在 getApiKeyValue
的回调之前执行。把console放到callback里面,你就知道哪里不对了。
我有一个回调函数,其中包含一个包含另一个回调的 for 循环。
我正在努力理解变量范围。我需要在整个嵌套结构中访问 out
变量:
var out = {"foo":123};
persistence.getAllApiKeys(function(err, allKeys){
for (var prop in allKeys) {
out = {"baz":456};
persistence.getApiKeyValue("test", function(err2, value) {
out = {"success":true}; // <--does not update
});
}
console.log(out);
})
输出:
{ baz: 456 }
如何访问最终回调中的 out 变量?即将其设置为 "success":true
?
经典异步。
console.log
在 getApiKeyValue
的回调之前执行。把console放到callback里面,你就知道哪里不对了。