Dies ist mein CoffeeScript-Code.Übergeben von Methode in SetTimeOut mit CoffeeScript
setTimeout (-> @checkProgress()), 5000
Als ich dies im Browser ausgeführt ich die folgende Fehlermeldung erhalten:
TypeError: this.checkProgress is not a function
Das Verfahren sieht so aus:
checkProgress: ->
~ code
~ code
~ code
setTimeout (-> @checkProgress()), 5000
Also irgendwann möchte ich noch einmal die Methode aufzurufen . Wie kann ich das machen? Vielen Dank.
'@ checkProgress' ist bereits eine' Funktion'. Sie müssen es nicht in eine andere 'Funktion' einbinden. Verwenden Sie einfach 'setTimeout @checkProgress, 5000' – Ruslan
In anderen Fällen können Sie helper verwenden:' delay = (t, fn) -> setTimeout (fn, t) '. – Ruslan
Das habe ich vorher gemacht, aber dann habe ich gelesen, dass dabei die eigentliche Funktion nicht aufgerufen wird, sondern dass das Ergebnis der Funktion in dieser Param-Position endet, was ich nicht wollte. – terratunaz