コールバック、スコープ、クロージャに関する多くの質問があります。これが重複している場合は、事前にお詫び申し上げます。反復中のコールバックスコープ
私は、いくつかの非同期アクションを実行してコールバックを発行する関数を呼び出すループをそれぞれ持っています。私はコールバックが発生したときに(明らかに)スコープを失います。私がやったのは、ループの中のアイテムを関数に渡してコールバックで返すので、必要なスコープがあるからです。それはこれを行うための最善の方法ですか?私は過度に複雑なものを探しているわけではありません。私はちょうど私がどのような "つかの間"に遭遇するつもりはないことを確認したい。あなたが持っているもの
function doSomething(varA, varB, self, callback) {
// do a lot of ajax stuff
callback(varA + varB, self);
}
$.each($('.selected'), function(i, item) {
doSomething('a', 'b', item, function(retVal, self) {
// process retVal and self
}
}
私が持っていたよりも良い構文。 – Jay