我在[Express的路徑處理方法]中遇到問題,特別是Post函數。
(http://expressjs.com/api.html#app.VERB)Express Post函數中回調的執行順序
app.post('/login',
passport.authenticate('local', { failureRedirect: '/login', failureFlash: true }),
function(req, res) {
res.redirect('/');
});
通過一段代碼來解析快遞文件說
多個回調給出,所有都一視同仁,表現得像中間件。
我的問題是,是下面的語句是準確的:
中間件就像是連接在一起的一堆管子。首先介紹的中間件是首先列出的中間件。如果數據是水,它將流過首先列出的管道。
路由處理方法中的回調也是如此:回調是管道連接在一起的,如果通過這些'管道'倒入數據,則通過列出的第一個回調並依次回調第二個回調。真的嗎?
作爲後續問題,這些回調應該返回什麼?第一個回調是否返回響應,第二個回調接收並將其視爲請求?應該從管道出來,我可以將它粘到第二根管子上嗎?
非常明確的解釋!所以它基本上是相同的請求和響應對象,由不同的中間件一個接一個地調整。好極了!我對發生的事情有一個很好的心理模型! – 2014-10-02 14:36:48
如果你想深入瞭解[authenticate'的護照源代碼](https://github.com/jaredhanson/passport/blob/master/lib/middleware/authenticate.js#L80) – renatoargh 2014-10-02 14:40:52
感謝小費!呃...對我來說有點深刻。 – 2014-10-02 14:43:52