《淺談我眼中的express、koa和koa2》好文留存+筆記


原文 :三英戰豪強,思緒走四方。淺談我眼中的express、koa和koa2

 

 一、回調大坑怎么解決呢?

1、es5可以利用一下第三方庫,例如  async 庫,
2、或者單純使用  connect中間件 提供的  next 功能來處理,
3、還可以利用  promise 來處理回調大坑。當然,單純使用promise可能給自己帶來另外一個大坑,then大坑,或者叫pipe大坑,無數個then,想想也是夠恐怖的。
4、另外,還可以使用node自帶的  事件模塊 來處理回調問題,利用事件代理(我記得是backbone的一個模塊)來簡化代碼書寫。關於事件模塊,我之后會寫個小專題,來說說node的事件原理。不過,雖然提到了事件模塊,但是,我不推薦用事件去處理回調嵌套,因為,需要寫更多的代碼,得不償失

二、Generator函數和yield語句是一對好基友,如果沒有yield語句的話,Generator函數只不過是暫緩執行的狀態機而已。通過配合yield,Generator 函數就可以暫停執行和恢復執行,從而將其內部封裝的異步函數變為同步執行

當然 Generator函數還有些濫用之嫌,ES官方組織對於Generator函數是不滿意的。於是在ES7規范中,搗鼓出來了 async/await 這個目前為止,異步回調最佳的解決方案。

async/await規范是Generator函數+yield語句的語法糖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM