作者othree (OOO)
看板Ajax
標題Re: [問題] Javascript想作出非同步效果?
時間Wed Jan 20 18:00:30 2010
: 推 l9girl:試了,但因為忙著計算,所以setTimeout的函數就被delay了 01/20 14:09
作法是類似下面這樣
setTimeout 不是要他某個時間跑
其實是要他接著跑
var k = 5000000;
function calc () {
for (var len=k-50000; k>len; k--) {
//do something
}
if (k > 0) { setTimeout(arguments.callee, 1); }
else { console.log('done'); }
}
calc();
切
http://orz.othree.net/test/settimeout/
沒切
http://orz.othree.net/test/settimeout/old.html
沒切的一開始就會卡死住
另外如果切太細效率會變很差
--
Harry : I know you kill my father !!
Voldemort : No . I am your father .
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.118.5.39
推 kaijajan:google一下...有人用javascript模擬thread 01/20 19:09
推 l9girl:o大,arguments.callee沒用作耶,但call自己卻lock住了 01/20 20:54
→ Kelunyang:我為什麼會想到google gears XD 01/20 23:23
→ othree:google gear 有 worker 可以用,可是 html 5 要取代掉他 01/21 13:54
→ othree:所以現在 google 也不更新不推廣了 01/21 13:54