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狀況下

  能夠用一個變量去保存或者記錄每一個接口成功後給變量添加值。接口

相關文章
相關標籤/搜索