我正在使用PhantomJS来运行JavaScript。有一个函数phantom.exit()
接受退出代码作为第一个参数。
以下是它的工作方式......
var page = require("webpage").create(),
$ = require("jquery")
page.open("http://127.0.0.1:8081/", function (status) {
var title = page.evaluate(function() {
return $("title").text()
})
phantom.exit(-1)
})
返回的退出代码为-1或255,如预期的那样。
我的问题是我需要在调用函数时退出脚本。我的函数包含phantom.exit(-1)
。
var page = require("webpage").create(),
$ = require("jquery")
function foo() {
phantom.exit(-1)
}
page.open("http://127.0.0.1:8081/", function (status) {
var title = page.evaluate(function() {
return $("title").text()
})
foo()
phantom.exit()
})
问题是phantom.exit(-1)
函数中的foo()
未被调用,退出代码为0。
有一种解决方法可以检查我的函数中的返回值并手动调用phantom.exit()
,但这不是我想要的...非常感谢任何帮助!
答案 0 :(得分:3)
有可能foo
对phantom.exit
的{{1}}函数调用被page.open
回调覆盖了。
因此,调用foo()
将退出代码设置为-1
然后,在没有参数的情况下调用phantom.exit
,将退出代码设置回0。
因为幻像本身可能会在执行完所有内容后返回退出代码,所以你得到0,没有-1的迹象。