0

次のコード スニペットに疑問があります。

for(var i=0; i<5; i++){
    http.request(option, function(res){
        console.log(i)
    });
}

これは 'i' の値を 5 として 5 回出力します。0,1,2,3,4を出力できる関数(res)と同期して「i」の値を作成する方法はありますか?

4

1 に答える 1

2

変数に正しいスコープを与える必要があります。次のようなことを試してください:

for(var i=0; i<5; i++){
    (function(key) {
        http.request(option, function(res){
            console.log(key)
        });
    })(i);
}
于 2013-02-24T07:27:52.487 に答える