我尝试获取异步递归函数。在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