我试图将参数 countryCode 发送到spookyjs函数。
我的问题是如何做到这一点,因为当我想要使用时 spooky.then(函数)中的 countryCode countryCode 为空
非常感谢你
这是通话代码
var greetings = require("./get_country.js");
var countryCode = "ES";
greetings.getOne("ES");
这是功能代码:
var Spooky = require('spooky');
module.exports = {
getOne: function(countryCode) {
var init = function(error) {
if (error) {
e = new Error('Failed to initialize SpookyJS');
e.details = error;
throw e;
}
spooky.start('http://www.domain.com/');
spooky.then(function() {
this.emit('return', this.evaluate(function() {
var raw_countries = document.querySelectorAll('#country-selector li.' + countryCode);
return raw_countries;
}));
});
spooky.run();
},
spooky = new Spooky({
child: {
transport: 'http'
},
casper: {
logLevel: 'debug',
verbose: true
}
}, init);
spooky.on('error', function(error, stack) {
console.error(error);
if (stack) {
console.log(stack);
}
});
spooky.on('return', function(data) {
console.log(data);
});
}};
答案 0 :(得分:0)
您需要将所需的全局变量传递给 spooky 的 then() 和evaluate() 函数才能如下访问它
spooky.start('example.com/');
spooky.then([{ countryCode: countryCode }, function () {
this.emit('return', this.evaluate(function (countryCode) {
var raw_countries = document.querySelectorAll('#country-selector li.' + countryCode);
return raw_countries;
}), countryCode);
}]);
spooky.run();