這是我的CoffeeScript代碼。使用CoffeeScript將方法傳遞到SetTimeOut
setTimeout (-> @checkProgress()), 5000
當我在瀏覽器中我碰到下面的錯誤運行此:
TypeError: this.checkProgress is not a function
的方法是這樣的:
checkProgress: ->
~ code
~ code
~ code
setTimeout (-> @checkProgress()), 5000
因此,在某些時候,我想再次調用該方法。我怎樣才能做到這一點?謝謝。
「@ checkProgress」已經是'function'。你不需要把它包裝在另一個'function'中。只需使用'setTimeout @checkProgress,5000' – Ruslan
在其他情況下,您可以使用helper:'delay =(t,fn) - > setTimeout(fn,t)'。 – Ruslan
這就是我之前所做的事情,但後來我讀到,當這樣做時,實際函數不會被調用,而是函數的結果會以該參數位置結束,這不是我想要的。 – terratunaz