Глядя на это, вы, возможно, получаете какой-то другой ответ о статусе, который вы не проверяете ... Также я думаю, что вам потребуется флаг autoNetworkDetection
, чтобы объявить, когда сеть отключена или работает, используя состояния PNNetworkDownCategory
и PNNetworkUpCategory
. то есть
this.pubnub = new PubNub({
subscribeKey: this.serverDetails.authInfo.subscribeKey,
authKey: this.serverDetails.authInfo.authKey,
uuid,
restore: true,
ssl: true,
autoNetworkDetection: true
});
this.listeners = {
message: msgEvent => {
console.log(msgEvent);
},
status: statusEvent => {
if (statusEvent.category === "PNNetworkUpCategory") {
this.pubnub.reconnect();
} else {
// check for other status events - PNTimeoutCategory, PNNetworkIssuesCategory, etc
console.log(statusEvent.category);
}
}
};
Если это не помогло, но у вас по-прежнему возникают проблемы с переподключением, вы должны установить флаг listenToBrowserNetworkEvent
на false
, поскольку это позволяет протоколу переподключения SDK c вступить во владение. т.е.
this.pubnub = new PubNub({
subscribeKey: this.serverDetails.authInfo.subscribeKey,
authKey: this.serverDetails.authInfo.authKey,
uuid,
restore: true,
ssl: true,
listenToBrowserNetworkEvents: false
});
см .: https://www.pubnub.com/docs/web-javascript/pubnub-network-lifecycle#pnnetworkupcategory