ReferenceError с асинхронной функцией - PullRequest
0 голосов
/ 14 сентября 2018

Я пытаюсь что-то автоматизировать, запустив некоторый JavaScript в консоли браузера.По сути, сценарий должен:

  1. Щелкните что-то
  2. Подождите, пока не исчезнет загрузочный div анимации
  3. Сделайте что-нибудь еще

У меня проблемы с функцией ожидания.Я подозреваю, что мой подход неправильный, но по какой-то причине я получаю сообщение об ошибке, просто пытаясь вызвать его.Я получаю эту ошибку дважды, когда запускаю свой код:

Uncaught (in promise) ReferenceError: waitForLoad is not defined ReferenceError: waitForLoad is not defined

Мой код:

button.click() // causes a loading animation div to appear

await waitForLoad();

console.log('Done waiting');

async function waitForLoad() {
    let isWaiting = true;

    while (isWaiting) {
        await sleep(200);
        isWaiting = nodeExists('div.load-animation');
    }

}

function nodeExists(selector) {
    return document.querySelectorAll(selector).length > 0;
}

function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}
...