Как я могу использовать обещание для этой асинхронной функции?
Когда я вызываю асинхронную функцию, иногда происходит сбой, и в журнале записывается необработанное обещание. Как я могу использовать обещание здесь?
async function getDate(param) {
const browser = await puppeteer.launch({ headless: true });
const page = await browser.newPage();
const targetUrl = `http://some-site.com/summary?t= ${param} &culture=en_US`;
await page.goto(targetUrl);
const dateSelector = "some-css-selector";
const dateText = await page.evaluate((sel) => {
return document.querySelectorAll(sel)[0].innerHTML;
}, dateSelector);
const date = dateText.substring(6, 16);
console.log(date);
browser.close();
return date;
}
//I am calling this function this way
const myDate = getDate(myParam);
Редактировать 1:
Как и предполагалось, я добавил блок try / catch, который, похоже, решает проблему с ошибкой.
Теперь, как мне использовать .then()
на myDate
?
Поскольку getDate()
является асинхронной функцией, это обещание. Я хотел бы сделать что-то вроде этого, когда обещание будет выполнено:
myDate.then(
console.log(`date1`, myDate)
)
Прямо сейчас это приходит как
date1 Promise { <pending> }
Редактировать 2:
Это решило это
myDate.then(result => console.log(result))