我正在尝试向服务器发送消息,同时将该消息保存到客户端中的数组。我想在开始之前知道socketio.emit是否接受了回调,如下所示:
socket.emit('startRecording', {someData: 'value'}, function (response) {})
答案 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响应时将调用该回调,如上例所示。这允许您对给定消息使用请求/响应,您可以通过发送消息获得特定响应。