我在 socket.io 中使用回调
客户端代码:
socket.emit('someEvent', {data:1}, function(err, result) {
console.log(err.message);
});
服务器代码:
socket.on('someEvent', function(data, callback) {
callback(new Error('testing error'));
});
使用上面的代码,客户端总是打印出undefined
。如果我将服务器端代码更改为以下内容,我可以看到错误消息。
socket.on('someEvent', function(data, callback) {
callback({message:'testing error'});
});
我可以将我自己的自定义对象传递给客户端,而不是错误对象。有什么想法吗?
最佳答案
socket.io
数据被序列化为 JSON
,只能表示普通对象。您需要将任何错误序列化为可识别的纯对象格式,或者让 Socket.IO 的标准序列化来完成它的工作(这将导致 Error
实例的纯空对象。
关于javascript - 如何将错误对象传递给socket.io回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20915608/