客户端如何知道发射是否失败?是否有用于socket.emit()的回调?

问题描述 投票:5回答:2

如果客户端向服务器发送一些味精,客户端是否有任何方法可以知道此发送是否失败?

我认为这是一些回调,如:

socket.emit("test",dataToSend,function(err){ });
javascript node.js socket.io
2个回答
0
投票

您可以配置服务器以侦听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) {
});

Acknowledgement functions documentation


0
投票

在服务器上

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
}
© www.soinside.com 2019 - 2024. All rights reserved.