js 接口并发问题

最近听到一个词叫"并发",其实在工做中不少这种处理的场景只是没有并发这种概念,今天总结一下 。es6

假设场景: 一个普通查询页面,须要刚进页面就同时调用4个接口,只有所有接口都调用完成才能让用户操做这时候怎么办?并发

首先 es6 能够使用 Promise.all()spa

var a = new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve("a")
},1000)
})

var b = new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve("b")
},5000)
})
var c = new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve("c")
},1000)
})

Promise.all([a,b,c]).then((res)=>{
console.log(res);
})
//Promise.all会在所有都返回成功时候返回。

//注意! Promise.all 必须保证数全是resolve()否则会挂, 你也能够使用Promise.race()

不用es6状况下

  能够用一个变量去保存或者记录每一个接口成功后给变量添加值。接口

相关文章
相关标签/搜索