Как передать параметр в Spooky в nodejs
Я пытаюсь отправить параметр countryCode в функцию spookyjs.
У меня вопрос, как это сделать, потому что, когда я хочу использовать countryCode внутри spooky.then(функция), 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);
});
}};
1 ответ
Вам нужно передать требуемую глобальную переменную как функциям жутких then(), так и функциям оценки(), чтобы иметь доступ к ней, как показано ниже.
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();