在API文档中有一个代码段:
casper.waitFor(function check() {
return this.evaluate(function() {
return document.querySelectorAll('ul.your-list li').length > 2;
});
}, function then() {
this.captureSelector('yoursitelist.png', 'ul.your-list');
}, function timeout() {
this.echo("I can't haz my screenshot.").exit();
});
我需要这个,但是在一个coffeescript项目中。我试着把它重写成coffeescript,但它不起作用。即使我让js2coffe完成这项工作,我也会从有效的javascript中获得一些无效的coffeescript:
我不知道如何正确地将命名函数列表传递给另一个函数。
答案 0 :(得分:2)
CoffeeScript并不真正支持这样的命名函数,请参阅:
这个具体的例子无论如何都不需要它们,看起来他们只是出于文档目的,所以你可以这样写:
check = -> @evaluate(-> document.querySelectorAll('ul.your-list li').length > 2)
and_then = -> @captureSelector('yoursitelist.png', 'ul.your-list')
timeout = -> @echo("I can't haz my screenshot.").exit()
casper.waitFor(check, and_then, timeout)
在CoffeeScript中获得相同的效果。