![](/img/trans.png)
[英]Javascript How to migrate promise.spread syntax to async/await with destructuring
[英]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.