簡體   English   中英

異步/等待 - 無法達到承諾結果

[英]Async/await - cannot reach promise result

我試圖在 Reactjs 函數組件中達到 Promise 結果,但它對我不起作用。 當我返回函數結果時,我只會得到 Promise。 我的目標是返回一個包含在 [[Promise Result]] 中的對象。

const params = ['ACT', 'STBY', 'STBYH'];
const getActStby = async address => {
  const getActStbyParams = await getXhr({
    url: `./scripts/system_read_config?${xhrParam(address, params)}`
  });
  return getActStbyParams;
};

然后我稍后在代碼中調用它並將其作為新屬性分配給對象:

newItemEqpt.isAct = getActStby(getNetworkAddress(item.from.FROM, item.to.TO));

這些活動的輸出是“部分”好的。 當我 console.log 對象時, Promise 已實現,但我想要將 [[Promise result]] 中的parameters數組直接分配給isAct屬性。 我怎樣才能做到這一點?

isAct: Promise
 [[Prototype]]: Promise
 [[PromiseState]]: "fulfilled"
 [[PromiseResult]]: Object
   parameters: (3) [{…}, {…}, {…}]
   [[Prototype]]: Object

函數getActStby聲明為async ,因此您必須await獲得它的結果;

newItemEqpt.isAct = await getActStby(getNetworkAddress(item.from.FROM, item.to.TO));

為了能夠像上面一樣使用await關鍵字,對getActStby的函數調用也應該在async函數中進行,否則您必須使用then方法鏈接該函數並使用回調訪問該函數的返回值。

暫無
暫無

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

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