您的位置:首页 > 文旅 > 旅游 > vue_免费的logo在线设计_最新热点新闻事件素材_业务推广方案怎么写

vue_免费的logo在线设计_最新热点新闻事件素材_业务推广方案怎么写

2025/2/24 23:56:44 来源:https://blog.csdn.net/weixin_42952508/article/details/145017635  浏览:    关键词:vue_免费的logo在线设计_最新热点新闻事件素材_业务推广方案怎么写
vue_免费的logo在线设计_最新热点新闻事件素材_业务推广方案怎么写

并行运行Promise

举个例子,如果现在我们想要获取三个国家的基本信息,但是这个顺序是无所谓的;

  • 按照我们之前的学习的异步代码,如下:
const get3Countries = async function (c1, c2, c3) {try {const [data1] = await getJSON(`https://restcountries.com/v2/name/${c1}`);const [data2] = await getJSON(`https://restcountries.com/v2/name/${c2}`);const [data3] = await getJSON(`https://restcountries.com/v2/name/${c3}`);console.log([data1.capital, data2.capital, data3.capital]);} catch (err) {console.log(err);}
};get3Countries('Russia', 'Canada', 'tanzania');

在这里插入图片描述

  • 但是这个带来一个问题,就是第二个AJAX必须等待第一个完成之后才能轮到它,我们可以使其同步运行
 Promise.all([getJSON(`https://restcountries.com/v2/name/${c1}`),getJSON(`https://restcountries.com/v2/name/${c2}`),getJSON(`https://restcountries.com/v2/name/${c3}`),]);

在这里插入图片描述

  • 那这样有什么好处呢,这样的话我们就可以用统一的方式去管理它
const get3Countries = async function (c1, c2, c3) {try {const data = await Promise.all([getJSON(`https://restcountries.com/v2/name/${c1}`),getJSON(`https://restcountries.com/v2/name/${c2}`),getJSON(`https://restcountries.com/v2/name/${c3}`),]);console.log(data.map(d => d[0].capital));} catch (err) {console.log(err);}
};get3Countries('Russia', 'Canada', 'tanzania');

在这里插入图片描述

  • 但是像上面这样如果三个国家其中一个国家出现了reject,那么整个都会是reject
  • 其实像上面的这种组合方式还有很多种,下篇文章再去大家去分享一样

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com