подписка на web3 ethereum не работает постоянно - PullRequest
0 голосов
/ 20 февраля 2019

Иногда я сталкиваюсь с этой проблемой, когда метод подписки не работает.И я не могу найти способ отладки, запущено действие подписки или нет.Даже обработчики «error» и «end» не работают.

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
}

Есть ли способ проверить, началась ли подписка, а если нет - воспроизвести ее или сделать что-то вместо этого?

...