Casperjs - 有没有办法等待n秒?

TH *_*rov 1 javascript casperjs

只是为了澄清,我不想等待一个条件,只需暂停n秒.这是我的代码,但是id不能按我预期的方式工作,我怀疑"等待"是异步的.我希望更改代码,以便打印1,等待5秒,打印2,然后打印3.现在它打印1,打印3,然后等待5秒并打印2.

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

var x = require('casper').selectXPath;
var fs = require('fs');
var parsedFile = "pfile.txt";

casper.start();

function wait5seconds() {
   casper.wait(5000, function() {
        this.echo('2');
   });
}

casper.then(function() {
  this.echo('1');
  wait5seconds();  
  this.echo('3');
});

casper.run();
Run Code Online (Sandbox Code Playgroud)

小智 5

你应该把它casper.wait()放在一个casper.then()如下:

casper.start();
casper.then(function(){
    echo('1');
});
casper.then(function(){
    casper.wait(5000, function(){echo('2')});
});
casper.then(function(){
    casper.wait(5000, function(){echo('3')});
});
Run Code Online (Sandbox Code Playgroud)