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

JavaScript: How to pass current value to callback function?

我正在尝试将当前值传递给回调函数。 我用这个答案来处理,但它对我不起作用。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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);

问题是函数总是与"i"变量一起使用,这在循环结束后是未定义的。


1
2
3
4
5
6
7
8
9
10
11
12
13
14
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);
}

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