提交 f708ea8e 编写于 作者: Huan (李卓桓)'s avatar Huan (李卓桓)

code clean

上级 f5a64ab6
......@@ -114,10 +114,6 @@ export class Bridge extends EventEmitter {
await page.goto(url) // Does this related to(?) the CI Error: exception: Navigation Timeout Exceeded: 30000ms exceeded
log.verbose('PuppetWebBridge', 'initPage() after page.goto(url)')
// , {
// waitUntil: 'load', // https://github.com/GoogleChrome/puppeteer/issues/805
// })
if (cookieList && cookieList.length) {
await page.setCookie(...cookieList)
log.silly('PuppetWebBridge', 'initPage() page.setCookie() %s cookies set back', cookieList.length)
......@@ -213,7 +209,6 @@ export class Bridge extends EventEmitter {
public async quit(): Promise<void> {
log.verbose('PuppetWebBridge', 'quit()')
this.removeAllListeners()
try {
await this.page.close()
log.silly('PuppetWebBridge', 'quit() page.close()-ed')
......@@ -221,10 +216,8 @@ export class Bridge extends EventEmitter {
log.silly('PuppetWebBridge', 'quit() browser.close()-ed')
} catch (e) {
log.warn('PuppetWebBridge', 'quit() exception: %s', e && e.message || e)
// throw e
/* fail safe */
this.emit('error', e)
}
}
public async getUserName(): Promise<string> {
......@@ -681,7 +674,7 @@ export class Bridge extends EventEmitter {
log.silly('PuppetWebBridge', 'clickSwitchAccount() clicked!')
return true
} else {
log.silly('PuppetWebBridge', 'clickSwitchAccount() button not found')
// log.silly('PuppetWebBridge', 'clickSwitchAccount() button not found')
return false
}
} catch (e) {
......
......@@ -219,16 +219,15 @@ export class PuppetWeb extends Puppet {
}
public async quit(): Promise<void> {
log.verbose('PuppetWeb', 'quit() state OFF: %s',
this.state.off(),
)
log.verbose('PuppetWeb', 'quit()')
if (this.state.off() === 'pending') {
const off = this.state.off()
if (off === 'pending') {
const e = new Error('quit() is called on a PENDING OFF PuppetWeb')
log.warn('PuppetWeb', e.message)
this.emit('error', e)
return
} else if (this.state.off() === true) {
} else if (off === true) {
log.warn('PuppetWeb', 'quit() is called on a OFF puppet. return directly.')
return
}
......@@ -239,21 +238,15 @@ export class PuppetWeb extends Puppet {
this.state.off('pending')
try {
if (this.bridge) {
await this.bridge.quit()
setImmediate(() => this.bridge.removeAllListeners())
} else {
log.warn('PuppetWeb', 'quit() no bridge!')
}
await this.bridge.quit()
// register the removeListeners micro task at then end of the task queue
setImmediate(() => this.bridge.removeAllListeners())
} catch (e) {
log.error('PuppetWeb', 'quit() exception: %s', e.message)
Raven.captureException(e)
throw e
} finally {
this.state.off(true)
// register the removeListeners micro task at then end of the task queue
// setImmediate(() => this.removeAllListeners())
}
}
......
......@@ -477,13 +477,13 @@ export class Wechaty extends EventEmitter implements Sayable {
return
}
const puppetBeforeDie = this.puppet
const puppet = this.puppet
this.puppet = null
config.puppetInstance(null)
try {
await puppetBeforeDie.quit()
setImmediate(() => puppetBeforeDie.removeAllListeners())
await puppet.quit()
} catch (e) {
log.error('Wechaty', 'stop() exception: %s', e.message)
Raven.captureException(e)
......@@ -494,7 +494,7 @@ export class Wechaty extends EventEmitter implements Sayable {
// MUST use setImmediate at here(the end of this function),
// because we need to run the micro task registered by the `emit` method
// setImmediate(() => this.removeAllListeners())
setImmediate(() => puppet.removeAllListeners())
}
return
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册