Почему получаю в результате пустой список?
Промежуточные выводы дают заполненные объекты, но такое чувство, что где то создается временный объект (массив) в который и пушится значение, а переданный в параметрах не заполняется.
Код:
var needle = require('needle');
var cheerio = require('cheerio');
function scrap(src_arr, res_arr){
for(word of src_arr){
var url = "https://wooordhunt.ru/word/" + word;
console.debug(url)
needle.get(url, function(err, res){
if (err) throw err;
var $ = cheerio.load(res.body);
res_arr.push({
word: $("#wd_title>h1").text().toLowerCase(),
transcription_us: $("#us_tr_sound>span").text(),
transcription_uk: $("#uk_tr_sound>span").text(),
translation: $(".t_inline_en").text(),
});
});
}
}
var src_words = ["about", "add", "afternon", "again"]
var result = [];
scrap(src_words, result)
console.log(result.length);
Результат:
https://wooordhunt.ru/word/about
https://wooordhunt.ru/word/add
https://wooordhunt.ru/word/afternon
https://wooordhunt.ru/word/again
0
needle.getПрописав послеif (err) throw err;console.log(res);. 2.Проверьте получаемые данныеconsole.log(res.body);. 3. Проверьте сам параметр, к примеру$("#wd_title>h1").text().toLowerCase(). – Denis640Kb Feb 19 '20 at 10:24