async/await怎么获取fetch的结果?

clipboard.png

clipboard.png

我把fetch封装到了fetchAsync函数里面,然后我最后想把返回的json数据给return出来,然后我在login函数里面可以直接获取result数据,但是发现result是一个promise,而不是一个json对象,请问该怎么获取fetch后的数据?

阅读 15k
4 个回答

只要函数使用async/await,所有包含该函数的嵌套函数都得使用async/await.
下次代码也复制过来,贴图不好回复代码。

export const login = async() => {
    let result = await fetchAsync();
}

soonfy

async函数的返回值一定是Promise。

你可以像其他的Promise一样使用它: Promise.then()或await

result确实是json数据,但是async函数返回的永远是一个promise,所以return一个json数据时,数据被包装进了promise,你得到的就是promise

async function myFetch(){ 
    let res = await fetch("http://jsonplaceholder.typicode.com/comments?postId=1")
    let result = await res.json()
    console.log(JSON.stringify(result))
    return result
}

myFetch().then(data => console.log(JSON.stringify(data)))
await(await fetch("url")).json();
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题