怎么用fetch+async模拟jQuery.when

单个fetch+async

(async() => {
  try {
    var response = await fetch(url);
    var data = await response.json();
    console.log(data);
  } catch (e) {
    console.log("Booo")
  }
})();

如何像$.when一样发起多个请求

  $.when(...reqArr).done(function (...data) {

  }  

类似

requestByFetch(urls)

阅读 2.7k
2 个回答

方法就是 Promise.all() , 实现如下.

let all = async (urls) => {
    let get = async(url) => {
        let res = await fetch(url);
        ...
        return res;
    }
    let promises = urls.map(async (url) => await get(url));
    let data = await Promise.all(promises);
    return data;
}

soonfy

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题