Просмотр исходного кода

BugFix: prevent processing when socketIoService is not initialized

Yuki Takei 5 лет назад
Родитель
Сommit
fe42752fa1

+ 4 - 0
src/server/service/socket-io.js

@@ -2,6 +2,10 @@ const socketIo = require('socket.io');
 
 class SocketIoService {
 
+  get isInitialized() {
+    return (this.io != null);
+  }
+
   attachServer(server) {
     this.io = socketIo(server, {
       transports: ['websocket'],

+ 3 - 1
src/server/service/system-events/sync-page-status.js

@@ -37,7 +37,9 @@ class SyncPageStatusService extends S2sMessageHandlable {
     const { socketIoService } = this;
 
     // emit the updated information to clients
-    socketIoService.getDefaultSocket().emit(socketIoEventName, { page, user });
+    if (socketIoService.isInitialized) {
+      socketIoService.getDefaultSocket().emit(socketIoEventName, { page, user });
+    }
   }
 
   async publishToOtherServers(socketIoEventName, page, user) {