Bar*_*klı 10 javascript node.js socket.io
我正在使用socket.io回调
客户代码:
socket.emit('someEvent', {data:1}, function(err, result) {
console.log(err.message);
});
Run Code Online (Sandbox Code Playgroud)
服务器代码:
socket.on('someEvent', function(data, callback) {
callback(new Error('testing error'));
});
Run Code Online (Sandbox Code Playgroud)
使用上面的代码,客户端总是打印出来undefined.如果我将服务器端代码更改为以下内容,则可以看到错误消息.
socket.on('someEvent', function(data, callback) {
callback({message:'testing error'});
});
Run Code Online (Sandbox Code Playgroud)
我可以将自己的自定义对象传递给客户端,只是没有错误对象.有任何想法吗?
log*_*yth 11
socket.io数据被序列化为JSON,只能表示普通对象.您需要将任何错误序列化为可识别的普通对象格式,或者让Socket.IO的标准序列化执行其操作(这将导致Error实例的纯空对象).