Promise.All 会一次性调用所有接口,直接将数据库连接池耗光。导致报错
数据量较多,settimeout 会导致后续接口时间对应不上。因此要使用 递归+then方式。
//定义方法,此方法放到最后调用,key是数组索引,obj是数据数组
const Promisethen = function(key,obj) {
if(key > obj.length-1){
return;
}
//下面代码可以平替为我们的rt.post().then();
let p = Promise.resolve();
p.then(()=>{
Promisethen(key+1,obj)
})
}
//获取数据
let parr = [];
rt.get().then(res=>{
parr.push(...res)
//调用
Promisethen(0,parr)
})