我知道有很多关于回调,范围和关闭的问题。如果这是重复的,我提前道歉。迭代期间的回调范围
我有一个每个循环调用一个函数,执行多个异步操作,然后发出回调。当回调触发时,我正在失去范围(显然)。我所做的是将循环中的项目传递给函数,然后在回调函数中将其返回,以便获得我需要的范围。这是做这件事的最好方法吗?我不是在寻找过于复杂的东西。我只是想确保我不会遇到任何“陷阱”。
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