0
做一些socket.io工作。似乎我的排放回調沒有被解僱。我做對了嗎?socket.io回調沒有被調用
this.logger.debug("joining room " + roomId);
callback = function() {
return this.logger.debug('finished emitting join for socket');
};
// this.config.ioTypes.join resolves to "j"
this.socket.emit(this.config.ioTypes.join, {
user: this.config.user,
room: roomId
}, callback);
我的日誌看起來是正確的(請注意,上面的代碼不包括會產生這些日誌一切):
DEBUG: joining room 1245 <-- first line from code above
DEBUG: join event for socket etQIXGAm59DYkCPk1_gj
DEBUG: data: { user: 1, room: '1245' }
DEBUG: received join event for 1, data: { user: 1, room: '1245' }
這就是結束。它看起來像socket.io不調用我的回調。但是文檔非常清晰:
有時,您可能想要在客戶端確認 消息接收時收到回調。
要做到這一點,只需傳遞一個函數作爲最後一個參數
.send
或.emit
。更重要的是,當您使用.emit
,確認是由 你做了,這意味着你也可以通過沿數據:
我在這裏幹什麼什麼了嗎?
您能詳細說明嗎?,我看到相同的問題,但在這裏看不到解決方案。 – dacopenhagen 2013-04-25 19:26:49
從2個月前?看起來像我不得不在我的處理程序中手動調用回調。 – jcollum 2013-04-25 19:44:23
啊,我可能會遇到一個不同的問題 - 我一直在挖掘,發現我的socket.io回調函數沒有被調用,如果我在Heroku上運行多個服務器的話。 – dacopenhagen 2013-04-25 20:28:22