簡體   English   中英

如何給JS對象賦值?

[英]How to assign values to JS object?

嘗試在兩種情況下為正文分配值,因此響應有時包含有效負載,但是當它作為有效負載出現時,它會將有效負載添加為我粘貼的嵌套對象

主文件

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}

您可能只是在尋找

const logError = (message, resp) => {
  const logErrorPayload = {
    status: resp.status,
    body: resp.payload,
  };
  logger().error(message, logErrorPayload);
};

resp || 使用整個resp對象作為值,至少當resp是一個真值時(當它具有屬性並因此是一個對象時,這是預期的)。

也許你打算使用resp && resp.payload ,它可以處理respnull ,但你需要做同樣的訪問.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);
};

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 }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM