EventEmitter fix

This commit is contained in:
Adhiraj Singh
2020-10-29 17:29:38 +05:30
parent 7b2aa7dd8a
commit 92c15b477b
2 changed files with 20 additions and 15 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "@adiwajshing/baileys", "name": "@adiwajshing/baileys",
"version": "3.2.2", "version": "3.2.3",
"description": "WhatsApp Web API", "description": "WhatsApp Web API",
"homepage": "https://github.com/adiwajshing/Baileys", "homepage": "https://github.com/adiwajshing/Baileys",
"main": "lib/WAConnection/WAConnection.js", "main": "lib/WAConnection/WAConnection.js",

View File

@@ -308,22 +308,27 @@ export class WAConnection extends EventEmitter {
protected async waitForConnection () { protected async waitForConnection () {
if (this.state === 'open') return if (this.state === 'open') return
await Utils.promiseTimeout ( let onOpen: () => void
this.pendingRequestTimeoutMs, let onClose: ({ reason }) => void
(resolve, reject) => {
const onClose = ({ reason }) => { await (
if (reason === DisconnectReason.invalidSession || reason === DisconnectReason.intentional) { Utils.promiseTimeout (
reject (new Error(reason)) this.pendingRequestTimeoutMs,
(resolve, reject) => {
onClose = ({ reason }) => {
if (reason === DisconnectReason.invalidSession || reason === DisconnectReason.intentional) {
reject (new Error(reason))
}
} }
this.off ('open', onOpen) onOpen = resolve
this.once ('close', onClose)
this.once ('open', onOpen)
} }
const onOpen = () => { )
resolve () .finally(() => {
this.off ('close', onClose) this.off ('open', onOpen)
} this.off ('close', onClose)
this.once ('close', onClose) })
this.once ('open', onOpen)
}
) )
} }
/** /**