koa的洋蔥模型
段永鵬
發(fā)布于 廣東 2018-02-28 · 3.3w瀏覽 1回復(fù) 9贊

所有的請求經(jīng)過一個中間件的時候都會執(zhí)行兩次,對比 Express 形式的中間件,Koa 的模型可以非常方便的實現(xiàn)后置處理邏輯,對比 Koa 和 Express 的 Compress 中間件就可以明顯的感受到 Koa 中間件模型的優(yōu)勢。

?異常處理

通過同步方式編寫異步代碼帶來的另外一個非常大的好處就是異常處理非常自然,使用?try catch?就可以將按照規(guī)范編寫的代碼中的所有錯誤都捕獲到。這樣我們可以很便捷的編寫一個自定義的錯誤處理中間件。

async function onerror(ctx, next) {
?try {
? ?await next();
?} catch (err) {
? ?ctx.app.emit('error', err);
? ?ctx.body = 'server error';
? ?ctx.status = err.status || 500;
?}
}


段永鵬
瀏覽 3.3w
9
相關(guān)推薦
最新評論 1
贊過的人 9
評論加載中...

暫無評論,快來評論吧!