簡體   English   中英

客戶端如何知道發射是否失敗? socket.emit() 有回調嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM