javascript - async/await怎么获取fetch的结果?
PHPz
PHPz 2017-04-11 13:08:34
[JavaScript讨论组]

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

PHPz
PHPz

学习是最好的投资!

全部回复(4)
PHPz

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

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

soonfy

天蓬老师

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

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

巴扎黑

第一次调用fetch函数获得的回调参数是一个Response对象.需要调用响应的方法才能获取到请求结果

   (async function(){
          var v = await fetch('https://www.xxx.com').then(res=>res.text());
          console.info(v);
   })()
高洛峰

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)))
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号