2017-08-14 40 views
1

我有以下問題。如何從另一個JS文件中將新值返回給套接字?由套接字客戶端返回變量

App.js

io.on('connection', function (socket) { 
    socket.currentRoomId = 0; 
    socket.currentRoomName = "Loading..."; 
    socket.currentRoomOwner = 1; 
    socket.currentRoomEntry = 1.1; 
}); 

RoomManager.js

adapter.query(sql, function(err, rows) { 
    rows.forEach((row) => { 
     socket.currentRoomId = parseInt(row.Id); 
     socket.currentRoomName = row.room_name; 
     socket.currentRoomOwner = row.room_owner; 
     socket.currentRoomEntry = row.room_entry; 
    }); 
}); 

問候。

回答

0

你將不得不emitlisten這樣,

RoomManager.js

adapter.query(sql, function(err, rows) { 
    rows.forEach((row) => { 
     // emit setCurrentData with the row data 
     socket.emit('setCurrentData', { data: row }); 
    }); 
}); 

App.js

io.on('connection', function (socket) { 
    socket.currentRoomId = 0; 
    socket.currentRoomName = "Loading..."; 
    socket.currentRoomOwner = 1; 
    socket.currentRoomEntry = 1.1; 

    // listen to setCurrentData 
    socket.on('setCurrentData', function (row) { 
     socket.currentRoomId = parseInt(row.data.Id); 
     socket.currentRoomName = row.data.room_name; 
     socket.currentRoomOwner = row.data.room_owner; 
     socket.currentRoomEntry = row.data.room_entry; 
    }); 
});