以下に示すような状況があります。最初の非同期コールバックが返される前に、変数id
は「03」に設定されます。Objective-Cのブロックでできるように、変数をディープコピーまたは「閉じる」方法はありますか? ベストプラクティスはありますか?
var ids = ['01', '02', '03'];
for(var i=0, i < ids.length; i++){
var id = ids[i];
collection.find({id: ids} function () {
console.log(id);
});
}
コンソール出力は次のとおりです。
03
03
03