Closed spacelan closed 8 years ago
https://github.com/nodeWechat/wechat4u/blob/master/src/wechat.js#L324
syncPolling () { this._syncCheck().then(state => { if (state.retcode !== CONF.SYNCCHECK_RET_SUCCESS) { throw new Error('你登出了微信') } else { if (state.selector !== CONF.SYNCCHECK_SELECTOR_NORMAL) { return this._sync().then(data => { setTimeout(() => { this.syncPolling() }, 1000) this._handleMsg(data) }) } else { debug('WebSync Normal') setTimeout(() => { this.syncPolling() }, 1000) } } }).catch(err => { if (++this.syncErrorCount > 3) { debug(err) this.emit('error', err) this.logout() } else { setTimeout(() => { this.syncPolling() }, 1000) } }) }
这种尾递归是不是不会溢出
如果我让syncPolling返回一个Promise会是怎样?
https://github.com/nodeWechat/wechat4u/blob/master/src/wechat.js#L324