Javascript 如何使用PhantomJS';是否在函数返回中打开回调?
我试图在函数内部使用webpage.open方法的回调,但得到未定义的值:Javascript 如何使用PhantomJS';是否在函数返回中打开回调?,javascript,phantomjs,Javascript,Phantomjs,我试图在函数内部使用webpage.open方法的回调,但得到未定义的值: getPagesCount = function (url) { var page = require('webpage').create(); return page.open(url, function (status) { if (status === 'success') { return page.evaluate(function() { re
getPagesCount = function (url)
{
var page = require('webpage').create();
return page.open(url, function (status) {
if (status === 'success') {
return page.evaluate(function() {
return document.body.innerHTML;
});
}
});
}
html = getPagesCount('http://google.com');
console.log(html);
phantom.exit();
获取“未定义”。我认为异步不是这样工作的 返回值不是在回调返回时立即发生的 解决问题的一种简单方法(但越来越复杂)可能是将所有逻辑移到最后一次回调
getPagesCount = function (url)
{
var page = require('webpage').create();
page.open(url, function (status) {
if (status === 'success') {
page.evaluate(function() {
var html = document.body.innerHTML;
// now you can do something with your html!
});
}
});
}
dm03514,只有这条路吗?我不能在GetPageScont基金之外使用var html?