Promise 多接口同时调用

简单的Promise 多接口调用 的写法

var data = {access_token:acctoken()}
                    	var p1 = new Promise((resolve, reject) => {
							request.ordertoday_gather(data)
							.then(function(res){
								resolve(res)
							})
						})
                    	var p2 = new Promise((resolve, reject) => {
						  	request.rechargetoday_gather(data)
						  	.then(function(res){
						  		resolve(res);
						  	})
						})
						var p3 = new Promise((resolve, reject) => {
							request.membergather(data)
							.then(function(res){
								resolve(res)
							})
						})
						Promise.all([p1,p2,p3]).then((result) => {
						  console.log("3个接口返回",result)
						  setshow2(result);
						}).catch((error) => {
						  console.log(error) 
						})
function  setshow2(res){
    console.log(res);

}

Promise.all获得的成功结果的数组里面的数据顺序和Promise.all接收到的数组顺序是一致的,即p1的结果在前,即便p1的结果获取的比p2要晚。这带来了一个绝大的好处:在前端开发请求数据的过程中,偶尔会遇到发送多个请求并根据请求顺序获取和使用数据的场景,使用Promise.all毫无疑问可以解决这个问题。

如果一个接口 先失败了,那就直接返回先失败的 返回值。

如果感兴趣,也可以关注我的微信公众号,因为刚起步,所以只有几篇文章,之后会慢慢更新。

你可能感兴趣的:(Promise,ajax)