问题描述
我试图在通过套接字连接时从我的分子后端返回一些数据到我的反应前端。我在获取数据时遇到了挑战,让我特别困惑的是,当我在后端出现错误时,完整的错误会通过套接字返回到前端。但是当我解决错误时,我在前端得到的只是 null
。我不清楚为什么我会在错误情况下收到响应,而在没有错误时收到 null
响应。任何帮助将不胜感激。
这是我在后端的代码。这个函数在 'auth.register' 的套接字请求进来时触发:
register(ctx) {
const socketId = ctx.Meta.socket.id;
console.log('socketId: ',socketId);
const response = {
status: 'success',code: null,message: 'Device registered with version 1.0.0.',body: { socketId },broadcast: false,messageId: 'unkNown',opts: {}
}
return response;
},
io.socket.on('connect',() => {
console.log("Connection with the socket gateway established on socket");
// register
io.socket.emit('call','auth.register',{
key: config.key,version: `${config.app} ${config.version}`,app: config.app,},(res) => {
console.log('res: ',res);
});
});
这样的代码,前端控制台中的res
就等于null
。
register(ctx) {
const socketId = ctx.Meta.socket.id;
console.log('socketId: ',socketId);
response = {
status: 'success',
通过套接字返回完整的错误,因此在前端控制台中,res
是这样的:
{name: "ReferenceError",message: "response is not defined"}
我试图理解为什么,如果后端出现错误,它会在前端的套接字调用的回调中成功返回,但如果没有错误,我最终得到的是 { {1}}。
我在这里错过了什么?这种情况如何将数据返回给前端?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)