Неопределенная переменная в переменной после присваивания - PullRequest
0 голосов
/ 24 февраля 2019

В настоящее время я пытаюсь получить переменную «index», определенную в переменной «name», она каждый раз возвращает «undefined», а не должна.Я знаю, что я асинхронная функция, но этот случай странный, и я не могу заставить его работать.

У меня есть следующее:

const puppeteer = require('puppeteer');


(async function main() {
    try {
        for (var index = 1; index < 20; index++) {
            console.log(index)
            const browser = await puppeteer.launch();
            const [page] = await browser.pages();

            await page.goto(`MYSITE`);

            var name = await page.evaluate(() => {
                return document.querySelector(`#itembanking-list > tbody > tr:nth-child(${index}) > td:nth-child(2)`).innerText;
            })

            await browser.close();
        }
    } catch (err) {
        console.error(err);
    }
})();

При выполнении следующего кода яполучить эту ошибку:

Error: Evaluation failed: ReferenceError: index is not defined

Как я могу получить переменную "index", определенную в "name"?

1 Ответ

0 голосов
/ 24 февраля 2019

Вы должны передать индексную переменную в качестве второго параметра при оценке и обработать ее в обратном вызове

await page.evaluate(index => {...code}, index)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...