本文整理汇总了TypeScript中state-switch.off函数的典型用法代码示例。如果您正苦于以下问题:TypeScript off函数的具体用法?TypeScript off怎么用?TypeScript off使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了off函数的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: quit
public async quit(): Promise<void> {
log.verbose('IoClient', 'quit()')
if (this.state.off() === 'pending') {
log.warn('IoClient', 'quit() with state.off() = `pending`, skipped')
throw new Error('quit() with state.off() = `pending`')
}
this.state.off('pending')
try {
if (this.options.wechaty) {
await this.options.wechaty.stop()
// this.wechaty = null
} else { log.warn('IoClient', 'quit() no this.wechaty') }
if (this.io) {
await this.io.stop()
// this.io = null
} else { log.warn('IoClient', 'quit() no this.io') }
} catch (e) {
log.error('IoClient', 'exception: %s', e.message)
throw e
} finally {
this.state.off(true)
}
return
}
示例2: quit
public async quit(): Promise<void> {
log.verbose('PuppetPuppeteerBridge', 'quit()')
if (!this.page) {
throw new Error('no page')
}
if (!this.browser) {
throw new Error('no browser')
}
this.state.off('pending')
try {
await this.page.close()
log.silly('PuppetPuppeteerBridge', 'quit() page.close()-ed')
} catch (e) {
log.warn('PuppetPuppeteerBridge', 'quit() page.close() exception: %s', e)
}
try {
await this.browser.close()
log.silly('PuppetPuppeteerBridge', 'quit() browser.close()-ed')
} catch (e) {
log.warn('PuppetPuppeteerBridge', 'quit() browser.close() exception: %s', e)
}
this.state.off(true)
}
示例3: init
public async init(): Promise<void> {
log.verbose('PuppetPuppeteerBridge', 'init()')
this.state.on('pending')
try {
this.browser = await this.initBrowser()
log.verbose('PuppetPuppeteerBridge', 'init() initBrowser() done')
this.on('load', this.onLoad.bind(this))
const ready = new Promise(resolve => this.once('ready', resolve))
this.page = await this.initPage(this.browser)
await ready
this.state.on(true)
log.verbose('PuppetPuppeteerBridge', 'init() initPage() done')
} catch (e) {
log.error('PuppetPuppeteerBridge', 'init() exception: %s', e)
this.state.off(true)
try {
if (this.page) {
await this.page.close()
}
if (this.browser) {
await this.browser.close()
}
} catch (e2) {
log.error('PuppetPuppeteerBridge', 'init() exception %s, close page/browser exception %s', e, e2)
}
this.emit('error', e)
throw e
}
}
示例4: onLoad
public async onLoad(page: Page): Promise<void> {
log.verbose('PuppetPuppeteerBridge', 'initPage() on(load) %s', page.url())
if (this.state.off()) {
log.verbose('PuppetPuppeteerBridge', 'initPage() onLoad() OFF state detected. NOP')
return // reject(new Error('onLoad() OFF state detected'))
}
try {
const emitExist = await page.evaluate(() => {
return typeof window['emit'] === 'function'
})
if (!emitExist) {
await page.exposeFunction('emit', this.emit.bind(this))
}
await this.readyAngular(page)
await this.inject(page)
await this.clickSwitchAccount(page)
this.emit('ready')
} catch (e) {
log.error('PuppetPuppeteerBridge', 'init() initPage() onLoad() exception: %s', e)
await page.close()
this.emit('error', e)
}
}
示例5: stop
public async stop(): Promise<void> {
log.verbose('IoClient', 'stop()')
this.state.off('pending')
// XXX
if (!this.io) {
log.warn('IoClient', 'stop() without this.io')
this.state.off(true)
return
}
await this.io.stop()
this.state.off(true)
// XXX 20161026
// this.io = null
return
}
示例6: hookWechaty
private async hookWechaty(wechaty: Wechaty): Promise<void> {
log.verbose('IoClient', 'initWechaty()')
if (this.state.off()) {
const e = new Error('state.off() is true, skipped')
log.warn('IoClient', 'initWechaty() %s', e.message)
throw e
}
wechaty
.on('login' , user => log.info('IoClient', `${user.name()} logined`))
.on('logout' , user => log.info('IoClient', `${user.name()} logouted`))
.on('scan', (url, code) => log.info('IoClient', `[${code}] ${url}`))
.on('message' , msg => this.onMessage(msg))
return
}
示例7: initIo
private async initIo(): Promise<void> {
log.verbose('IoClient', 'initIo() with token %s', this.options.token)
if (this.state.off()) {
const e = new Error('initIo() state.off() is true, skipped')
log.warn('IoClient', e.message)
throw e
}
try {
await this.io.start()
} catch (e) {
log.verbose('IoClient', 'initIo() init fail: %s', e.message)
throw e
}
return
}
示例8: start
public async start(): Promise<void> {
log.verbose('IoClient', 'init()')
if (this.state.pending()) {
log.warn('IoClient', 'start() with a pending state, not the time')
const e = new Error('state.pending() when start()')
throw e
}
this.state.on('pending')
try {
await this.initIo()
await this.hookWechaty(this.options.wechaty)
this.state.on(true)
} catch (e) {
log.error('IoClient', 'init() exception: %s', e.message)
this.state.off(true)
throw e
}
return
}