[英]How can a client know if the emit failed? Is there any callback for socket.emit()?
如果客戶端向服務器發出一些 msg,客戶端有什么方法可以知道這個發送是否失敗?
我認為這是一些回調,例如:
socket.emit("test",dataToSend,function(err){ });
您可以將服務器配置為偵聽test
事件,並發出test succeeded
事件。
socket.on("test", function(data) {
socket.emit("test succeeded", data);
});
通過這種方式,您可以偵聽成功接收的test
事件,如下所示:
socket.on('test succeeded', function(data) {});
如果您想收到錯誤通知,請將您的函數作為第三個參數發送。
// client
socket.emit("test", dataToSend, function(err, success) {
});
然后,在服務器上
socket.on("test", function(dataReceived, callback) {
});
在服務器上
io.on('connect', (socket) => {
socket.on('join-room', ( user, handleError ) => {
//process data with user
let error = 'can not find user'
return handleError(error )
}
}
在客戶端
socket.emit('join-room', user, error => {
console.log(error) //error from Server is here
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.