Javascript thenEvaluate()是否以与evaluate()相同的方式返回?
所以我知道我可以使用return从Javascript thenEvaluate()是否以与evaluate()相同的方式返回?,javascript,casperjs,Javascript,Casperjs,所以我知道我可以使用return从窗口将数据返回到casper casper.evaluate(function() { return 'foobar'; }, {}); 如何使用thenEvaluate()实现同样的效果?您不能从casper.thenEvaluate>返回任何内容。它将被忽略。您需要将其拆分为casper。然后使用casper.evaluate。请参阅类似的内容 casper.thenEvaluate是一个异步步进函数,与所有其他then*和wait*函数一样。不可
窗口
将数据返回到casper
casper.evaluate(function() {
return 'foobar';
}, {});
如何使用
thenEvaluate()
实现同样的效果?您不能从casper.thenEvaluate>返回任何内容。它将被忽略。您需要将其拆分为casper。然后使用casper.evaluate
。请参阅类似的内容
casper.thenEvaluate
是一个异步步进函数,与所有其他then*
和wait*
函数一样。不可能从异步函数返回有用的内容。您最可能想要的是:
var something;
casper.start(url).then(function(){
something = this.evaluate(function(){
return 'foobar';
});
this.click("someSelector");
}).then(function(){
// do something with "something" on the new page
});
我想如果你以后不想用什么东西
,你不会问的。所有步骤函数都返回初始的casper
对象,这样脚本就可以像上面的例子那样用promise语法编写