使用场景:ios
因为项目中原本一个接口获取到的数据,被拆分到了多个接口,可是还要能所有返回数据以后才能作页面显示,虽然发不少http请求会慢,可是由于是异步的,并且符合业务需求,因此想到了使用promise All。axios
使用方法:promise
//拼接get请求地址
function getData(groupId)
{
//获取数据
let queryStr='http://10.**.**.**/data.aspx?mdid=ModelData&groupid='+groupId+'date='+new Date().getTime()
return queryStr;
}复制代码
//返回多个axios请求promise;
function getPromiseArray(groupIds)
{
let promiseArray=[];
for (let groupId of groupIds){
const promiseEach=axios.get(getWfsByGroupId(groupId),
{
withCredentials: true
});
promiseArray.push(promiseEach);
}
return promiseArray;
}复制代码
//http所有返回以后,获取返回数据
function getAllWfs(groupIds,callBack){
let allWfs={};
Promise.all(getPromiseArray(groupIds)).then(function(values) {
for(let i=0;i<values.length;i++)
{
let str=JSON.parse(values[i].data);
}
}
callBack(allWfs);
});
}复制代码
复制代码