我在Nodejs中有一个问题,sessionData变量从数据库中获取其值,在此值存在的情况下,必须执行新客户端,我遇到的问题是,当我运行所有的代码首先运行是新客户端,然后从sessionData获取数据,我该如何做首先获得sessionData的值,然后运行新客户端
let sessionData
(async() => {
sessionData = await cargarSession()
console.log('Mi objeto recibido', sessionData)
//return sessionData
}) ();
const wa = new Client({
restartOnAuthFail: true,
puppeteer: {
headless: true,
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage',
'--disable-accelerated-2d-canvas',
'--no-first-run',
'--no-zygote',
'--single-process',
'--disable-gpu',
'--use-gl=egl'
],
},
session: sessionData
})
您所需要做的就是将客户端创建移动到async函数中。
您还在评论中提到,您尝试过,但是脚本的其余部分无法访问脚本稍后的wa对象。要解决这个问题,只需在async函数之外定义wa并重新分配它的值。
let wa;
(async() => {
let sessionData = await cargarSession()
console.log('Mi objeto recibido', sessionData)
wa = new Client({
restartOnAuthFail: true,
puppeteer: {
headless: true,
args: [
'--no-sandbox',
'--disable-setuid-sandbox',
'--disable-dev-shm-usage',
'--disable-accelerated-2d-canvas',
'--no-first-run',
'--no-zygote',
'--single-process',
'--disable-gpu',
'--use-gl=egl'
],
},
session: sessionData
})
})();