作者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
1F:推 kaijajan:google一下...有人用javascript模拟thread 01/20 19:09
2F:推 l9girl:o大,arguments.callee没用作耶,但call自己却lock住了 01/20 20:54
3F:→ Kelunyang:我为什麽会想到google gears XD 01/20 23:23
4F:→ othree:google gear 有 worker 可以用,可是 html 5 要取代掉他 01/21 13:54
5F:→ othree:所以现在 google 也不更新不推广了 01/21 13:54