将 async/await 与 .then() 混合使用有什么问题吗?

问题描述 投票:0回答:1

以下面的代码为例。在这种情况下,将 await 与 .then 混合使用有什么问题吗?在我看来,当我们真正关心的是最终响应时(至少在这个例子中),为每个步骤声明 await 似乎毫无意义且笨拙。但有人告诉我,将

const json = await assetParam.json()
await
混合会导致一些难以诊断的错误,我正在努力理解它们。
任何信息/资源将不胜感激。

.then


javascript async-await es6-promise
1个回答
3
投票

async function getParams(assetId) { const reqUrl = `https://somelink/${assetId}` const assetParam = await fetch(reqUrl) .then((res) => res.json()) .then((json) => json.asset.params) return assetParam }

或:

function getParams(assetId) { const reqUrl = `https://somelink/${assetId}` return fetch(reqUrl) .then(res => res.json()) .then(json => json.asset.params) }

最好在 1 个函数中坚持 1 个约定。

您分享的代码片段非常简单,我不会非常喜欢这两种方法。一旦您的异步代码通过分支/循环变得更加复杂,async/await 就会真正开始发挥作用。

© www.soinside.com 2019 - 2024. All rights reserved.