socket.io:套接字IO客户端可以发出函数注册回调函数

时间:2018-06-03 22:30:12

标签: socket.io

我正在尝试向服务器发送消息,同时将该消息保存到客户端中的数组。我想在开始之前知道socketio.emit是否接受了回调,如下所示:

socket.emit('startRecording', {someData: 'value'}, function (response) {})

1 个答案:

答案 0 :(得分:1)

socket.io确实支持发送消息的ACK回调。它被描述为here in the socket.io doc。以下是从doc中使用它的示例:

// client code
socket.emit('ferret', 'tobi', (data) => {
  console.log(data); // data will be 'woot'
});

// server code
io.on('connection', (socket) => {
    socket.on('ferret', (name, fn) => {
      // send ACK response
      fn('woot');
    });
});

如果您传递的最后一个参数.emit()是回调,那么如果/当服务器提供ACK响应时将调用该回调,如上例所示。这允许您对给定消息使用请求/响应,您可以通过发送消息获得特定响应。