有时,当subscribe方法不起作用时,我会遇到此问题。而且我找不到调试订阅操作是否启动的方法。甚至“错误”和“结束”处理程序似乎也不起作用。
async initWssServer(e = false) {
if (e) {
console.error('WSS disconnected')
console.error(e)
}
this.server = await new Web3('wss://mainnet.infura.io/ws')
this.events = events
const subscribe = this.server.eth.subscribe('newBlockHeaders', async (err, data) => {
if (err) {
return this.initWssServer(err)
}
return this.events.emit('new_block', data)
})
subscribe.on('error', e => this.initWssServer(e))
subscribe.on('end', e => this.initWssServer(e))
return true
}
有没有一种方法可以检查订阅是否已开始以及是否已开始-重播它或执行其他操作?