Node / Javascript - 多个回调中的变量访问和循环

时间:2015-07-19 16:31:30

标签: javascript variables for-loop callback scope

我有一个回调函数,其中包含一个包含另一个calllback的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

1 个答案:

答案 0 :(得分:0)

经典的aysnc。 在console.log的回调之前执行getApiKeyValue。将控制台置于回调中,您将看到错误。