Nodejs讓異步變成同步的方法
異步給我們帶來(lái)的性能是明顯的,但同時(shí)也給我們帶了復(fù)雜的業(yè)務(wù)邏輯過(guò)程,特別請(qǐng)求依賴多的時(shí)候,下面我們來(lái)看看如何解決此類這樣的問(wèn)題。
使用方法
在這里我們信賴于co
這個(gè)庫(kù)。
npm install co --save #or yarn add co
模擬
# 登錄請(qǐng)求 let loginReq = new Promise((resolve,reject)=>{ setTimeout(function () { resolve({success:true}) },2000) }); # 獲取用戶信息 let userInfoReq = new Promise((resolve,reject)=>{ setTimeout(function () { resolve({nickName:'dounine'}) },2000) }); # 異步處理過(guò)程 loginReq.then(res=>{ if(res.success){ userInfoReq.then(userInfo=>{ console.log('獲取成功') ## 如果還有信賴,需要繼續(xù)寫,還沒(méi)有邏輯業(yè)務(wù)參與 }) } }) # 同步處理過(guò)程 co(function *(){ let loginInfo = yield loginReq; if(loginInfo.success){ let userInfo = yield userInfoReq; console.log('獲取成功') } })
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
相關(guān)文章
基于node搭建服務(wù)器,寫接口,調(diào)接口,跨域的實(shí)例
今天小編就為大家分享一篇基于node搭建服務(wù)器,寫接口,調(diào)接口,跨域的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05node.js應(yīng)用后臺(tái)守護(hù)進(jìn)程管理器Forever安裝和使用實(shí)例
這篇文章主要介紹了node.js應(yīng)用后臺(tái)守護(hù)進(jìn)程管理器Forever安裝和使用實(shí)例,forever可以看做是一個(gè)nodejs的守護(hù)進(jìn)程,能夠啟動(dòng),停止,重啟我們的app應(yīng)用,需要的朋友可以參考下2014-06-06詳解nodejs微信公眾號(hào)開(kāi)發(fā)——6.自定義菜單
這篇文章主要介紹了詳解nodejs微信公眾號(hào)開(kāi)發(fā)——6.自定義菜單,自定義菜單能夠幫助公眾號(hào)豐富界面,讓用戶更好更快地理解公眾號(hào)的功能。2017-04-04使用node搭建自動(dòng)發(fā)圖文微博機(jī)器人的方法
這篇文章主要介紹了使用node搭建自動(dòng)發(fā)圖文微博機(jī)器人的方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03nodejs中轉(zhuǎn)換URL字符串與查詢字符串詳解
這篇文章主要介紹了nodejs中轉(zhuǎn)換URL字符串與查詢字符串詳解,需要的朋友可以參考下2014-11-11Node.js API詳解之 string_decoder用法實(shí)例分析
這篇文章主要介紹了Node.js API詳解之 string_decoder用法,結(jié)合實(shí)例形式分析了Node.js API中string_decoder的功能、用法及操作注意事項(xiàng),需要的朋友可以參考下2020-04-04