PhantomJS 5-min Wiki phantom.exit() oddity

PhantomJS 5-min Wiki phantom.exit() oddity

本文关键字:oddity exit phantom 5-min Wiki PhantomJS      更新时间:2023-09-26

所以维基的例子在这里有两个地方phantom.exit()。为什么我不能把phantom.exit()放在脚本的末尾?这对我来说没有太大意义。

var page = require('webpage').create(),
t, address;
if (phantom.args.length === 0) {
    console.log('Usage: loadspeed.js <some URL>');
    phantom.exit(); //Why does this only work if "phantom.exit()" is here,
} else {
    t = Date.now();
    address = phantom.args[0];
    page.open(address, function (status) {
        if (status !== 'success') {
            console.log('FAIL to load the address');
        } else {
            t = Date.now() - t;
            console.log('Loading time ' + t + ' msec');
        }
        phantom.exit(); //and here.
    });
}
// but not just a single one here?

page.open 方法是异步的,因此传递给它的回调函数将在将来的某个时间点运行(当 address 引用的资源完成加载时)。

如果在该脚本末尾调用phantom.exit(),PhantomJS 将在回调有机会执行之前退出。