搜索

首页  >  问答  >  正文

javascript - 函数中包含一个fetch请求,如何把fetch请求的结果通过函数return出去

下边我简单的写一下想法

function demo(){

let data=[];
fetch(xxx).then((res)=>{
    data.push(res);
})
return data;

}

由于是异步请求,所以return的data依然是空数组,而非包含请求数据的数组。那有什么办法在获取数据后再return出去呢?

PHP中文网PHP中文网2818 天前794

全部回复(4)我来回复

  • 淡淡烟草味

    淡淡烟草味2017-05-19 10:22:15

    异步是不可能return值出去的

    值只能在回调函数中处理

    回复
    0
  • ringa_lee

    ringa_lee2017-05-19 10:22:15

    雷雷

    回复
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:22:15

    使用async/await方式

    async function demo(){
        let data=[];
        await fetch(xxx).then((res)=>{
            data.push(res);
        })
        return data;
    }

    然后执行该函数

    回复
    0
  • 黄舟

    黄舟2017-05-19 10:22:15

    用await,注意需要构建

    async function demo(){
        const response = await fetch(url, options);
        // todo: 异常处理
        
        const data = await response.json();
        return data;
    }

    参考es6 await

    回复
    0
  • 取消回复