循环内的异步进程我正在运行以下形式的事件循环:var i;var j = 10;for (i = 0; i < j; i++) {
asynchronousProcess(callbackFunction() {
alert(i);
});}我正在尝试显示一系列显示数字0到10的警报。问题在于,当回调函数被触发时,循环已经进行了几次迭代,并且它显示了更高的i。关于如何解决这个问题有什么建议吗?
3 回答
慕标5832272
TA贡献1966条经验 获得超4个赞
for (i = 0; i < j; i++) { asycronouseProcess(function (i) { alert(i); }.bind(null, i));}
for (i = 0; i < j; i++) { let k = i; asycronouseProcess(function() { alert(k); });}
bind
for (i = 0; i < j; i++) { asycronouseProcess(function(i) { return function () { alert(i) } }(i));}
let
bind
添加回答
举报
0/150
提交
取消