[node.js] Express中使用的參數“next”是什麼?


1 Answers

接下來的()我也有問題了解,但是this有所幫助

var app = require("express")();

app.get("/", function(httpRequest, httpResponse, next){
    httpResponse.write("Hello");
    next(); //remove this and see what happens 
});

app.get("/", function(httpRequest, httpResponse, next){
    httpResponse.write(" World !!!");
    httpResponse.end();
});

app.listen(8080);
Question

假設你有這樣一段簡單的代碼:

app.get('/', function(req, res){
    res.send('Hello World');
});

這個函數有兩個參數reqres ,它們分別表示請求和響應對象。

另一方面,還有其他函數帶有第三個參數next 。 例如,讓我們看看下面的代碼:

app.get('/users/:id?', function(req, res, next){ // Why do we need next?
    var id = req.params.id;
    if (id) {
        // do something
    } else {
        next(); // What is this doing?
    }
});

我不明白next()是什麼,或者為什麼它被使用。 在那個例子中,如果id不存在, next會做什麼?




接下來用於將控制傳遞給下一個中間件功能。 如果不是,請求將被掛起或打開。




Related