JavaScript:如何将当前值传递给回调函数?

时间:2016-07-14 10:59:05

标签: javascript react-native

我试图将当前值传递给回调函数。我使用this answers来处理,但它对我没用。

for (var i = 0; i < 4; i++) {
  (function(_i) {
    var options = {
        //Options here
    };
    console.log(_i); // 0, 1, 2, 3

    LocalImageManager.download(options, function (results, _i) {
      console.log(_i);  //undefined, undefined, undefined, undefined

      //Do stuff with results
    });

  }
})(i);

问题是功能始终与&#34; i&#34;变量,在循环结束后未定义。

2 个答案:

答案 0 :(得分:0)

for (var i = 0; i < 4; i++) {
  (function(_i) {
    var options = {
      //Options here
    };
    console.log(_i); // 0, 1, 2, 3

    LocalImageManager.download(options, function (results) {
      console.log(_i); // 0, 1, 2, 3

      //Do stuff with results
    });
  })(i);
}

答案 1 :(得分:-1)

您需要更改LocalImageManager.download的定义,因为您的回调方法仅从那里调用。您可以在不同的参数中发送_i的值,或者在调用回调方法时使用您在函数中传递的选项并使用它们。