我有一个问题与Nodejs异步



我在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
})
})();

相关内容

  • 没有找到相关文章

最新更新