Пишу функцию которая будет получать переменную page(и browser) в 1 функции,при помощи callback передавать её в другую функцию. В данный момент остановился на проблеме её передачи,так как задать глобально переменную не выйдет(это нарушит мой дальнейший план связанный с многопоточностью приложения). Если кто знает - помогите,как я могу это сделать?
router.post(
'/check',
[check('user_login', 'Некорректный логин').isLength({ min: 3 })],
async function checkdata(req, res) {
try {
console.log('Login body:', req.body);
let browser = await puppeteer.launch({
devtools:true,
});
let page = await browser.newPage()
await page.goto('https://google.com')
await page.type('input[name=q]',req.body.user_login)
await page.screenshot({path:'loximi.png'})
res.json({ message: 'completed' });
return new Promise (async (resolve)=>{
resolve(page);
})
} catch (e) {
console.log(e.message);
res
.status(500)
.json({ message: 'Что-то пошло не так, попробуйте снова' });
}
}
);
// /api/auth/register
router.post(
'/register',
[
check('user_login', 'Некорректный логин').isLength({ min: 3 }),
check('user_password', 'Минимальная длина пароля 6 символов').isLength({
min: 6,
}),
],
async (req, res) => {
try {
console.log('Password body:', req.body);
console.log(checkdata())
await page.type('input[name=q]', checkdata())
res.json({ message: 'completed' });
} catch (e) {
console.log(e.message);
res
.status(500)
.json({ message: 'Что-то пошло не так, попробуйте снова' });
}
}
);