return 值将用这行代码存储在哪里:“ const { value: { name, email, password } } = await ctx.request.body().value; ”
Where do return values will be stored with this line of code: " const { value: { name, email, password } } = await ctx.request.body().value; "
我不明白来自 ctx.request.body().value
的变量将存储在哪里?
const { value: { name, email, password } } = await ctx.request.body().value;
为什么我们不只使用下面一行而不是上面一行?
const { name, email, password } = await ctx.request.body().value;
或者为什么我们不使用 const value = await ctx.request.body().value;
然后使用 value.name
, value.email
, value.password
?
有人可以解释一下这个语法吗?
正如 DemiPixel 在评论中建议的那样,查看 object 解构可能有助于弄清楚,基本上您编写的语句之间的差异是 ctx.request.body()
的期望值。
在第一种情况下,您假设 body 看起来有点像这样:
{value: {value: {name: '', email: '', password: ''}}
,正如您希望使用键 value
解构 object,但您已经从响应中得到了 .value
。这可能是它可能无法按预期工作的原因。
第二种情况假设 body 看起来像这样:{value: {name: '', email: '', password: ''}
,因此如果你解构 ctx.request.body().value 你确实得到 const { name, email, password }
.
希望它能更清楚一点
我不明白来自 ctx.request.body().value
的变量将存储在哪里?
const { value: { name, email, password } } = await ctx.request.body().value;
为什么我们不只使用下面一行而不是上面一行?
const { name, email, password } = await ctx.request.body().value;
或者为什么我们不使用 const value = await ctx.request.body().value;
然后使用 value.name
, value.email
, value.password
?
有人可以解释一下这个语法吗?
正如 DemiPixel 在评论中建议的那样,查看 object 解构可能有助于弄清楚,基本上您编写的语句之间的差异是 ctx.request.body()
的期望值。
在第一种情况下,您假设 body 看起来有点像这样:
{value: {value: {name: '', email: '', password: ''}}
,正如您希望使用键 value
解构 object,但您已经从响应中得到了 .value
。这可能是它可能无法按预期工作的原因。
第二种情况假设 body 看起来像这样:{value: {name: '', email: '', password: ''}
,因此如果你解构 ctx.request.body().value 你确实得到 const { name, email, password }
.
希望它能更清楚一点