1

3つのURLリクエストを同時に実行する必要があります。それぞれがURLをフェッチする3つのcasperインスタンスを実行することを考えました。簡単な例として、2つのインスタンスで試しました。

var casper=require('casper').create();
casper.start('http://www.google.com');

var casper1=require('casper').create();
casper1.start('http://www.google.com');

casper1.then(function() {
    casper1.echo('inside');
});
casper1.echo('outside');

casper1.run();
casper.run();

出力には「outside」のみが表示されます。「casper1.echo('inside');を実行しないのはなぜですか。

4

1 に答える 1

2

CasperJSは、APIの関数の1つ(start、then、thenOpenなど)を使用するたびに作成されるコマンドのスタックを使用します。すべてのアイテムがスタックのキューに入れられたら、casper.run()を実行してそれらを順番に実行できます。スタックに何かが追加されていない場合、Casperはそれを実行しません。

簡単に言うと、casper1.echo('outside')はスタックに追加されなかったため、実行されていません。

このトピックに関する彼らのFAQは、それをより詳細に分解しています。

于 2013-04-10T05:11:46.673 に答える