看板 Flash 關於我們 聯絡資訊
想請問一下關於setInterval的時間間隔函數有沒有時間的上限? 因為我可能需要每30min.1hr.3hr執行一次 所以想問問看有沒有人知道? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.160.177.159
cjcat2266:3hr=180min=10800s=10800000ms 04/15 00:10
cjcat2266:Number可用53bits來表示整數部分 04/15 00:10
cjcat2266:2^53遠大於10800000,所以請放心用吧 04/15 00:11
cjcat2266:事實上,2^53ms等於104249991天 04/15 00:13
cjcat2266:所以你可以放104249991天都沒問題 04/15 00:13
gg90052:再問一個問題,因為如果用變數更改setInterval的interval 04/15 01:16
gg90052:它執行的速率還是不變,要怎麼修改setInerval的寫法才行呢 04/15 01:17
cjcat2266:無解,除非用clearInterval消除連續呼叫,然後再開一個 04/15 01:44
cjcat2266:如果你是用AS3可以用Timer class,他有個delay property 04/15 01:44
cjcat2266:Timer class應該是拿來取代setInterval用的 04/15 01:45
cjcat2266:因為Time class的API設計得很好用,setInterval相對死板 04/15 01:45
cjcat2266:其實如果你只是要30min, 1hr, 或3hr 04/15 01:47
cjcat2266:其實還是可以用setInterval,就把它設成30min叫一次 04/15 01:48
cjcat2266:弄個變數N,函式設計成"呼叫次數是N的倍數才執行某事" 04/15 01:49
cjcat2266:這樣1hr就是N = 2, 3hr就是N = 6 04/15 01:49
gg90052:喔喔 懂了懂了 感謝CJ大 04/15 02:12