如何将错误对象传递给socket.iocallback
我正在使用socket.iocallback
客户代码:
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
实例的普通空对象。