我對Express很熟悉,但對Restify很陌生。的RESTify的文件有許多例子呼籲res.send()
如下之後next()
:Resitfy中res.send()之後調用next()有什麼意義?
server.get('/echo/:name', function (req, res, next) {
res.send(req.params);
return next();
});
這看起來像一些的RESTify專家以及推薦模式:
The consequences of not calling next() in restify
什麼是這樣做的實際使用情況?在你打電話給res.send()
之後,有沒有鏈條中的下一個處理程序可以做的事情?
當然,它可能會做額外的數據庫工作或請求跟蹤等,但是......如果您沒有這樣做,爲什麼要調用.next?這樣做可以使未來的處理程序可以在您不返回的情況下繼續工作,因爲無論如何,調用.next並沒有真正的傷害,只要知道如果多條路線碰巧發生了相同的請求,則只有其中一個可以成功調用'res.send',第二個會導致錯誤。 –
@Kevin B:謝謝你的回答。這就是'後期渲染'類型中間件的情況,對吧?請閱讀我的意見,讓我知道你的想法。 – Max
正確。我同意你的結論,只有當你知道你在做什麼時才這樣做。 –