为了账号安全,请及时绑定邮箱和手机立即绑定

如何给JS对象赋值?

如何给JS对象赋值?

www说 2021-09-04 17:20:30
尝试在两种情况下为正文分配值,因此响应有时包含有效负载,但是当它作为有效负载出现时,它会将有效负载添加为我粘贴的嵌套对象主文件const logError = (message, resp) => {  const logErrorPayload = {    status: resp.status,    body : resp || resp.payload  };  logger().error(message,logErrorPayload);};回复{"level":50,"time":1565018976583,"pid":64,"hostname":"76b538d1a1fc","msg":"Error_V1 {\"status\":500,\"body\":{\"status\":500,\"payload\":{\"status\":500,\"title\":\"Internal Server Error\",\"detail\":\"Drug prices are not valid\"}}}","v":1}预期的{"level":50,"time":1565018976583,"pid":64,"hostname":"76b538d1a1fc","msg":"Error_V1 {\"status\":500,\"body\":{\"status\":500,\"title\":\"Internal Server Error\",\"detail\":\"Drug prices are not valid\"}}}","v":1}
查看完整描述

2 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

您可能只是在寻找


const logError = (message, resp) => {

  const logErrorPayload = {

    status: resp.status,

    body: resp.payload,

  };

  logger().error(message, logErrorPayload);

};

在resp ||使用整个resp对象作为值,至少当resp被一个truthy值(其将预期当它具有一个属性,并且因此是一个对象)。


也许您打算使用resp && resp.payload,这可以处理respbe null,但您需要为访问做同样的事情.status:


const logError = (message, resp) => {

  const logErrorPayload = {

    status: resp && resp.status,

    body: resp && resp.payload,

  };

  logger().error(message, logErrorPayload);

};

或者,鉴于resp没有其他属性,您需要通过构造一个单独的 来省略logErrorPayload,您可以这样做


const logError = (message, resp) => {

  logger().error(message, resp);

};


查看完整回答
反对 回复 2021-09-04
?
万千封印

TA贡献1891条经验 获得超3个赞

Object.assign() 方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。


const 目标 = { a: 1, b: 2 }; 常量源 = { b: 4, c: 5 };


const ReturnTarget = Object.assign(target, source);


控制台日志(目标);// 预期输出:对象 { a: 1, b: 4, c: 5 }


控制台日志(返回目标);// 预期输出:对象 { a: 1, b: 4, c: 5 }


查看完整回答
反对 回复 2021-09-04
  • 2 回答
  • 0 关注
  • 346 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信