文档对象 toJSON 方法
为什么我不调用 toJSON 也可以返回没有密码的信息?
const userData = await service.user.findByUsername(ctx.state.user.username);
ctx.helper.success({ ctx, res: userData });
等价
const userData = await service.user.findByUsername(ctx.state.user.username);
ctx.helper.success({ ctx, res: userData?.toJSON() });
15
收起
正在回答
3回答
同学你好
ctx.body = 的时候,它会做这样的处理
检查对应的赋值对象有没有 toJSON 方法,如果有就调用,没有就直接返回。可以看一下这个例子测试一下。
const theData = { username: '1234', toJSON: () => { const data = { username: 'hello' }; return data; } }; ctx.helper.success({ ctx, res: theData });
我们设想它应该返回 1234,但是实际上它返回的是 hello,这就是整个它处理的方式。
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星