await page.on('response', response => {
->
page.on('response', async response => {
.
page.on
не возвращает
Promise
, он подписывается на события.
Это очевидно, но на всякий случай: то что просходит в callback'e
page.on
- это уже будет отдельный асинхронный (псевдо)поток, который пойдёт параллельно основному.
Если вы уверены, что это событие сработает только раз, и вам надо его дождаться в основном "потоке", то следует вручную завернуть его в
Promise
, условно так:
const json = await new Promise(resolve => page.on('response', function onResponse(response) {
if (response.url() == "https://capuk.org/ajax_search/capmoneycourses") {
page.off('response', onResponse);
resolve(response.json());
}
}));
console.log('XHR response received');
console.log(json);