如何在express JS中正确显示动态页面?

How to display dynamic pages correcly in expressJS?

我的 app.js 文件包含以下对象数组:

var people = [
        {name: "Henrique Melo", username: "heenrique", email: "henrique.example@hotmail.com"},
        {name: "João Pessoa", username: "jooao", email: "joao.example@hotmail.com"}
    ];

我正在尝试使用以下代码为每个人创建一个页面:

app.get("/:username", function(req, res) {
    for (var i = 0; i < people.length; i++) {
       if (people[i].username === req.params.username) {
            res.render("description.ejs", { pageTitle : "Profile", user : people[i] });
        } else {
            res.status(404).json("User not found.");
        }
    }
});

数组中第一个人(“/heenrique”)的描述页面完美加载,但不会显示任何后续对象。当我键入(“/jooao” - 数组中第二个人的用户名)时,我在 else 语句中收到 "user not found" 消息。我创建的循环一定有问题。请阐明这个问题。

问题是循环必须继续下一个项目而不出现任何错误(当 people[0] 与请求的用户名不匹配时,第一次迭代发生错误)。一个工作方法是这样的。

app.get("/:username", function(req, res) {
    for (var i = 0; i < people.length; i++) {
       if (people[i].username === req.params.username) {
            res.render("description.ejs", { pageTitle : "Profile", user : people[i] });
            return;
        }
    }
    res.status(404).json("User not found.");
});