Quellcode durchsuchen

fix(ResumeTask) Avoid adding multiple NETWORK_INFO_EVENT listeners

release-8443
Romick2005 vor 1 Jahr
Ursprung
Commit
f5f1c314c9
Es ist kein Account mit der E-Mail-Adresse des Committers verbunden
1 geänderte Dateien mit 15 neuen und 4 gelöschten Zeilen
  1. 15
    4
      modules/xmpp/ResumeTask.js

+ 15
- 4
modules/xmpp/ResumeTask.js Datei anzeigen

@@ -47,6 +47,7 @@ export default class ResumeTask {
47 47
      */
48 48
     schedule() {
49 49
         this._cancelResume();
50
+        this._removeNetworkOnlineListener();
50 51
 
51 52
         this._resumeRetryN += 1;
52 53
 
@@ -106,6 +107,19 @@ export default class ResumeTask {
106 107
         }
107 108
     }
108 109
 
110
+    /**
111
+     * Removes network online listener for the NETWORK_INFO_EVENT event.
112
+     *
113
+     * @private
114
+     * @returns {void}
115
+     */
116
+    _removeNetworkOnlineListener() {
117
+        if (this._networkOnlineListener) {
118
+            this._networkOnlineListener();
119
+            this._networkOnlineListener = null;
120
+        }
121
+    }
122
+
109 123
     /**
110 124
      * Resumes the XMPP connection using the stream management plugin.
111 125
      *
@@ -152,10 +166,7 @@ export default class ResumeTask {
152 166
      */
153 167
     cancel() {
154 168
         this._cancelResume();
169
+        this._removeNetworkOnlineListener();
155 170
         this._resumeRetryN = 0;
156
-        if (this._networkOnlineListener) {
157
-            this._networkOnlineListener();
158
-            this._networkOnlineListener = null;
159
-        }
160 171
     }
161 172
 }

Laden…
Abbrechen
Speichern