我嘗試獲取異步遞歸函數。在JS這應該是這樣的:CoffeeScript和異步遞歸函數
(function asyncRecursion(){
doStuff();
setTimeout(asyncRecursion, 1000);
})();
這裏就是我在CoffeeScript中已經試過:
(asyncRecursion = ->
doStuff()
setTimeout asyncRecursion, 1000
)()
但這編譯:
(asyncRecursion = function(){
doStuff();
setTimeout(asyncRecursion, 1000);
})();
和我得到一個錯誤JSHint稱爲「錯誤調用」。對於第1行,asyncRecursion函數。 那麼我怎樣才能得到一個JSHint安全的異步遞歸函數。編譯後的版本可以工作,但仍然存在JSHint錯誤。或者我應該忽略「錯誤的調用」。錯誤?
我不明白在CoffeeScript中使用JSHint的意義。如果你不寫JavaScript,爲什麼要驗證它? – 2012-07-29 04:02:49
表示coffeescript沒有編譯成該javascript。我猜你錯了一個'()'在你的咖啡腳本的末尾。此外,僅僅執行'do asyncRecursion = - >'而不是使用閉包更容易。你可以忽略這個錯誤。 – 2012-07-29 08:18:51
感謝您的意見。我將CoffeScript與Grunt.js結合使用,我的watch任務使用JSHint驗證編譯後的CoffeeScript。 – michsch 2012-07-29 16:35:28