PhantomJS中的page.open没有达到setTimeout

时间:2016-01-08 11:29:48

标签: javascript phantomjs

我正在尝试从我的脚本中的nextpage调用page.open函数,但是当我运行此函数时,我在console中没有输出并且没有错误。我已经调试了很久以来,但是没有任何解决方案。代码如下:

var page = require('webpage').create();
var url = 'https://www.youtube.com/user/jannunzi/about';

page.open(url, function (status) {

    setTimeout(function(){
        nextpage();
        console.log("inside timeout.....");
    },5000);

    phantom.exit();
});

function nextpage(){
    console.log("huzefa...........................");
}

此处,两个控制台消息均未在控制台中打印。

1 个答案:

答案 0 :(得分:1)

立即退出PhantomJS(phantom.exit();)时怎么办? JavaScript setTimeout()是异步的,因此在调用回调之前会评估之后的语句。您应该将退出移动到setTimeout()的回调中。

相关问题