2016-07-11 9 views
1

私はこの方法を使用していthis.evaluate:大規模な再利用可能な機能のための関数のパラメータを持つthis.evaluate

myData = this.evaluate(getData); 

私は同じように動作しないという残念なのgetData関数に2つの変数を渡す必要がありますが、この:

myData = this.evaluate(getData(varA,varB)); 

私はのgetDataが大きいの関数であるとして、このような関数を呼び出すにしたくないと私はスクリプトの中でより頻繁にこの機能を評価する必要があります。

myData = this.evaluate(function getData(varA,varB) { 
// my code... 
}); 

代わりに、パラメータを渡してスクリプトの他の部分で関数を呼び出すことができますか?

答えて

1

あなたはこの方法でそれを達成することができます

var casper = require('casper').create(); 

function add(a, b) { 
    return a + b; 
} 

var result1, result2; 
casper.start().then(function() { 
    result1 = casper.evaluate(add, 3, 5); 
    result2 = casper.evaluate(add, "Hello", ", World."); 
}).then(function() { 
    casper.echo('result1: ' + result1); 
    casper.echo('result2: ' + result2); 
}) 

casper.run(); 

出力:

result1: 8 
result2: Hello, World. 
+0

さてさて、構文のthatsです。どうもありがとうございました! –

+0

@JoshiiStarletさらに質問がない場合は、私の答えを受け入れることを忘れないでください... – Sayakiss

関連する問題