为了账号安全,请及时绑定邮箱和手机立即绑定

有大佬遇到过这个问题吗:循环调接口如何优化求解答!

有大佬遇到过这个问题吗:循环调接口如何优化求解答!

繁花如伊 2019-06-09 11:14:51
有一个数组list:[12,15,16,18],现在调用后端一个接口,分别把list中的数,单个单个作为参数,直到把list中的数传完为止。比如,现在list中有4个数,那么这个接口就需要调用4遍,请问下小伙伴们,用什么方式去循环调用接口是比较好的呢?
查看完整描述

2 回答

?
守着一只汪

TA贡献1872条经验 获得超3个赞

并发调用
asyncfunctionmain(){
constlist=[1,2,3,4]
Promise.all(
list
.map(id=>fetch(`http://api?id=${id}`)))
.then(results=>{
...
})
)
}
//或者用async
asyncfunctionmain(){
constlist=[1,2,3,4]
constresults=awaitPromise.all(
list.map(id=>fetch(`http://api?id=${id}`)),
)
...
}
逐个调用,等前面一个调用返回在调用下一个
functionmain(){
constlist=[1,2,3,4]
list.reduce(
(promise,id)=>
promise.then(results=>
fetch(`http://api?id=${id}`).then(result=>[...results,result]),
),
Promise.resolve([]),
).then((results)=>{
...
})
}
//或者用async
asyncfunctionmain(){
constlist=[1,2,3,4]
letresults=[]
for(constidoflist){
constresult=awaitfetch(`http://api?id=${id}`)
results.push(result)
}
...
}
                            
查看完整回答
反对 回复 2019-06-09
  • 2 回答
  • 0 关注
  • 437 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信