客户端如何知道发射是否失败?socket.emit()有回调吗
How can a client know if the emit failed? Is there any callback for socket.emit()?
如果客户端向服务器发送一些消息,客户端有没有办法知道这个发送是否失败?
我认为这是一些回调,比如:
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
}
相关文章:
- AngularJS:我可以跳过函数参数回调吗
- 要求未定义JS回调参数
- MeteorJS:在带有回调的vzaar api上正确使用wrapAsync
- 自引用回调
- 测试Angular Service解决错误回调中的promise
- 如何将一个JavaScript函数回调为多个函数
- JavaScript回调函数
- 用于回调的javascript参数
- 将json回调数据转换为日期
- 承诺在非节点式回调上使用Bluebird
- 如何在回调函数中执行流
- 回调函数中传递参数的困难(Google Map API Markers)
- Soundcloud Javascript SDK 3.0-回调无法读取属性'connectCallback
- 如何使用jqueryAJAX从页面中回调多个变量
- jquery Onclick函数带有导致双击的回调排序函数
- Javascript点击事件回调不起作用
- 一旦加载并渲染了角度引导typeahead,就使用回调
- 成功回调永远不会被JSONP请求调用
- 客户端如何知道发射是否失败?socket.emit()有回调吗
- node.js中的回调函数.TypeError: Cannot call method 'emit'的定