gpt4 book ai didi

javascript - 错误 : Can't set headers after they are sent if else statement

转载 作者:行者123 更新时间:2023-11-30 16:56:30 24 4
gpt4 key购买 nike

虽然这似乎是一个非常常见的问题 - 根据我所阅读的内容,我看不出我的代码有问题。下面你会看到如果条件满足我正在使用 return 所以我认为它不会尝试使用我的 else 条件设置标题。请看一下,如果我在这里遗漏了什么,请告诉我:

// get user by id
app.get('/api/users/:userId', function(req, res) {
var userParam = req.params.userId;
for (var i = 0; i < users.length; i++) {
if (users[i].id === userParam) {
return res.status(200).json({user: users[i]});
} else {
res.sendStatus(404);
}
}
});

最佳答案

问题是,除非请求的用户是用户数组中的第一个元素,否则在后续元素匹配之前,您将使用 404 响应。有更好的方法可以在数组中找到匹配项(请参阅 here ),但目前使用您的方法:

// get user by id
app.get('/api/users/:userId', function(req, res) {
var userParam = req.params.userId;
for (var i = 0; i < users.length; i++) {
if (users[i].id === userParam) {
return res.status(200).json({user: users[i]});
}
}
// No match in loop
res.sendStatus(404);
});

关于javascript - 错误 : Can't set headers after they are sent if else statement,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29628846/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com