扫码关注官方订阅号
我把fetch封装到了fetchAsync函数里面,然后我最后想把返回的json数据给return出来,然后我在login函数里面可以直接获取result数据,但是发现result是一个promise,而不是一个json对象,请问该怎么获取fetch后的数据?
学习是最好的投资!
只要函数使用async/await,所有包含该函数的嵌套函数都得使用async/await. 下次代码也复制过来,贴图不好回复代码。
export const login = async() => { let result = await fetchAsync(); }
soonfy
async函数的返回值一定是Promise。
你可以像其他的Promise一样使用它: Promise.then()或await
第一次调用fetch函数获得的回调参数是一个Response对象.需要调用响应的方法才能获取到请求结果
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
result
json
async
promise
return
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)))
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
只要函数使用async/await,所有包含该函数的嵌套函数都得使用async/await.
下次代码也复制过来,贴图不好回复代码。
soonfy
async函数的返回值一定是Promise。
你可以像其他的Promise一样使用它: Promise.then()或await
第一次调用
fetch函数获得的回调参数是一个Response对象.需要调用响应的方法才能获取到请求结果result确实是json数据,但是async函数返回的永远是一个promise,所以return一个json数据时,数据被包装进了promise,你得到的就是promise