[英]Mojo SDK - set a timer
我正在為Palm Pre構建應用程序。
我有一個簡單的問題:在經過一定時間后,如何為某些代碼運行設置計時器?
我嘗試使用常規的舊javascript setTimeout
,但是似乎不起作用。
這是我嘗試過的:
setTimeout(this.someFunction, 3000);
setTimeout('this.someFunction()', 3000);
似乎都沒有工作。 我該怎么做?
事實證明Mojo使用了原型javascript框架。
我可以使用以下方法解決此問題:
this.someFunction.delay(seconds, [functionArgs,]);
讓我震驚的一件事是, delay
方法更改了this
的值,因此delay
函數一定不要期望this
與直接調用它相同。
@TM:感謝您指出Prototype的bind()方法。 昨天我在setTimeout()問題上苦苦掙扎,最終像您指出的那樣使用Prototype的delay()方法,然后今天早晨,我在Mitch Allen的“ Palm webOS”書中看到他正在this.controller上調用setTimeout()。 .window對象,如下所示:
this.controller.window.setTimeout(this.someFunction.bind(this), someNumberOfMilliseconds);
如果我沒有一直在尋找確切的解決方案,我想我不會注意到this.controller.window的使用,現在我注意到書中使用this.someFunction.bind(this)的幾個地方,盡管他從未解釋過會做什么。 現在我知道!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.