以下面的代码为例。在这种情况下,将 await 与 .then 混合使用有什么问题吗?在我看来,当我们真正关心的是最终响应时(至少在这个例子中),为每个步骤声明 await 似乎毫无意义且笨拙。但有人告诉我,将
const json = await assetParam.json()
与 await
混合会导致一些难以诊断的错误,我正在努力理解它们。任何信息/资源将不胜感激。
.then
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 就会真正开始发挥作用。