reconnect() { let server = ConnectServiceMeteor._getServerURL(); let display = server.result + (server.fromMeteor ? ' (url calculated by meteor)' : ' (url from config)'); console.info('Reconnecting: ' + display + ' Meteor.status(): ' + JSON.stringify(Meteor.status())); Meteor.connect(server.result); Meteor.reconnect(); }
Tracker.autorun(() => { const ddpStatus = MeteorMeteor.status && MeteorMeteor.status(); if(ddpStatus) { this.statusString = ddpStatus.status; switch (ddpStatus.status) { case 'connected': this.status = StatusEnum.connected; break; case 'connecting': this.status = StatusEnum.connecting; break; case 'failed': this.status = StatusEnum.failed; break; case 'waiting': this.status = StatusEnum.waiting; break; case 'offline': this.status = StatusEnum.offline; break; default: this.status = undefined; break; } this.connected = ddpStatus.connected; this.retryCount = ddpStatus.retryCount; } else { this.status = StatusEnum.offline; this.connected = false; this.retryCount = 0; } });
async isConnected():Promise<boolean> { return await Meteor.status().connected; }