簡體   English   中英

如何在不先解構的情況下等待在數組中返回的承諾?

[英]How to await on a promise that is returned in an array without destructuring first?

如果我有類似的東西,

const apiCall = async (url) => {
  try {
    const { data } = await axios.get(url);
    return [url, data];
  } catch ({ response: { data } }) {
    console.log('Error', data);
  }
}

假設我想調用並訪問 promise 中的數據。 我必須做類似的事情,

const [, call] = await validate('/api/root');
const data = await call;

有沒有辦法在一個班輪中做到這一點,而不必訪問電話,例如,

await (await validate('/api/root'))

這是一個等效的單行:

const data = await (await validate('/api/root'))[1]

您可以將等待的函數放入參數中。 所以像

const result = await apiCall(
  await validate(),
  url
)

然后你可以在apiCall處理驗證。

或者,如果它依賴於 apiCall 的結果,您可以將驗證函數添加為 apiCall 中的回調。

暫無
暫無

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

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