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

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

 

 1、回調大坑怎麼解決呢?node

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

2、Generator函數和yield語句是一對好基友,若是沒有yield語句的話,Generator函數只不過是暫緩執行的狀態機而已。經過配合yield,Generator 函數就能夠暫停執行和恢復執行,從而將其內部封裝的異步函數變爲同步執行express

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

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

相關文章
相關標籤/搜索