I have an async function like that:
module.exports.basketPosterInterceptor = async ({ page, currentPrice }) => {
const postRequestPrice = currentPrice * 1000 * 1000;
await page.setRequestInterception(true);
logger.info(`Poster enable price: ${postRequestPrice}`);
page.on('request', (interceptedRequest) => {
interceptedRequest.continue(data);
});
};
When I call this method, I am calling it like that:
await puppeteerService.basketPosterInterceptor({ page: posterPage, currentPrice: 50 });
It works well in this way. But I don't want to use the await
keyword when calling this method. If I remove the await
keyword, it waits forever in this line: await page.setRequestInterception(true);
It should work on the background I don't want to wait in that line.
How can I resolve this?
CodePudding user response:
Use then
module.exports.basketPosterInterceptor = ({ page, currentPrice }) => {
const postRequestPrice = currentPrice * 1000 * 1000;
return page.setRequestInterception(true).then(() => {
logger.info(`Poster enable price: ${postRequestPrice}`);
page.on('request', (interceptedRequest) => {
interceptedRequest.continue(data);
});
});
};
And:
puppeteerService.basketPosterInterceptor({ page: posterPage, currentPrice: 50 }).then(() => {
// your code goes here
});