@Evelate

Nightmare.js как сохранить результат в переменную?

var Nightmare = require('nightmare');
var nightmare = Nightmare({ show: true });

var fq = [];

nightmare
    .goto('---------------')

    .evaluate(() => document.querySelector('------------').innerText)
.end()
    .then(function(rez){
        fq = rez;
    })

    .catch((error) => {
    console.error('Search failed:', error);
});

console.log(fq);


Nightmare.js я так понимаю, работает асинхронно
Пытаясь выполнить данную манипуляцию
.then(function(rez){
        fq = rez;


сначала выполнится последняя строчка console.log(fq); в основном коде с результатом [], а только потом запуститься Nightmare.js. Как мне сохранить результат полученный от .evaluate в массив "fq"?
  • Вопрос задан
  • 483 просмотра
Пригласить эксперта
Ответы на вопрос 1
vitali1995
@vitali1995
.then(function(rez){
        fq = rez;
        console.log(fq);
})

Иначе никак, в этом и заключается асинхронность.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы