我在想,如果下面的代碼可以引入競爭條件:的setTimeout環路
rows.each(function() {
var current = this;
var doOperation = function() {
current.someMethod();
// do some operation using current
};
setTimeout(doOperation, 1);
});
在setTimeout的延遲,是有可能的是,瀏覽器將開始執行循環的下一個itteration,改變「電流」 ,這樣doOperation不會使用被賦值的值來使用嗎?
1毫秒是很少的時間 – mplungjan
我這樣做是爲了防止IE 8.0停止長時間運行的腳本消息。由於整個循環需要一些時間來完成 – TGH
您可以使用零而不是一個。 –