異步給我們帶來的性能是明顯的,但同時也給我們帶了復雜的業務邏輯過程,特別請求依賴多的時候,下面我們來看看如何解決此類這樣的問題。
使用方法
在這里我們信賴于co
這個庫。
npm install co --save#or yarn add co
模擬
# 登錄請求let loginReq = new Promise((resolve,reject)=>{ setTimeout(function () { resolve({success:true}) },2000)});# 獲取用戶信息let userInfoReq = new Promise((resolve,reject)=>{ setTimeout(function () { resolve({nickName:'dounine'}) },2000)});# 異步處理過程loginReq.then(res=>{ if(res.success){ userInfoReq.then(userInfo=>{ console.log('獲取成功') ## 如果還有信賴,需要繼續寫,還沒有邏輯業務參與 }) }})# 同步處理過程co(function *(){ let loginInfo = yield loginReq; if(loginInfo.success){ let userInfo = yield userInfoReq; console.log('獲取成功') }})
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。
新聞熱點
疑難解答