我有一個主要用於jQuery和CoffeeScript的動畫。用CoffeeScript過早執行代碼
雖然我無法弄清楚,但我遇到了一個問題。
class Cow
move_head: (x, y)=>
stander.animate({
left: 10,
},{
complete: @move_feet(x, y)
});
move_feet: (x, y)=>
stander.animate({
left: 10,
},{
complete: @mover_in_test
});
問題出在complete: @move_feet(x, y)
。當沒有參數時,complete: @move_feet
代碼工作正常,當move_head
動畫完成時調用@move_feet
。但是,complete: @move_feet(x, y)
,@move_feet(x, y)
被稱爲move_head(x, y)
時刻。
我看對的CoffeeScript編譯了什麼,這是
在complete: @move_feet(x, y)
情況下
到complete: this.move_feet(x, y)
和 在complete: @move_feet
情況下complete: this.move_feet
。
因此,我認爲它解析代碼後立即調用complete: this.move_feet(x, y)
。但是,如何在適當的時候推遲代碼的執行?