Javascript 如何在Express.js中结束循环,以查看“下”部分*&引用;
我试图在Express.js中使用循环,但无法结束它。我的循环总是在/hello/SomeNumber(例如/hello/5)之后写“hello”,然后显示5个hello。 但是我想在>3之后停止并在“*”下显示消息。 请帮助=)Javascript 如何在Express.js中结束循环,以查看“下”部分*&引用;,javascript,node.js,express,backend,Javascript,Node.js,Express,Backend,我试图在Express.js中使用循环,但无法结束它。我的循环总是在/hello/SomeNumber(例如/hello/5)之后写“hello”,然后显示5个hello。 但是我想在>3之后停止并在“*”下显示消息。 请帮助=) app.get(“/repeat/:word/:numbers”,函数(req,res){ var word=req.params.word; 变量编号=编号(要求参数编号); var lol=“” 对于(var i=1;i使用break for (var i = 1
app.get(“/repeat/:word/:numbers”,函数(req,res){
var word=req.params.word;
变量编号=编号(要求参数编号);
var lol=“”
对于(var i=1;i使用break
for (var i = 1; i <= numbers; i++) {
if(i>3)
break;
lol += word + " ";
}
for(变量i=1;变量i=3)
打破
lol+=单词+“”;
}
像这样的东西
app.get("/repeat/:word/:numbers", function(req, res) {
var word = req.params.word;
var numbers = Number(req.params.numbers);
if (numbers > 3) {
res.send("Sorry, page not found...What are you doing with your life?");
} else {
var lol = ""
for (var i = 1; i <= numbers; i++) {
lol += word + " ";
}
res.send(lol);
}
});
老兄,上面的人都不支持这个任务。如果迭代次数超过3次,你需要跳转到下一个中间件,对吗
试试这个:
var express=require('express');
var-app=express();
app.get('/repeat/:word/:numbers',函数(req、res、next){
var word=req.params.word;
变量编号=编号(要求参数编号);
var-lol='';
对于(var i=1;i 3)next()
lol+=单词+'';
}
res.send(lol);
});
app.get('*',函数(req,res){
res.send('对不起,找不到页面…你这辈子在干什么?');
});
app.listen(process.env.PORT、process.env.IP、function(){
log('服务器已启动!!!');
});
我将如何解决它。在循环中添加一个if语句,检查数字是否大于3。如果是,请使用break
停止循环,并将*route中的文本分配给lol
变量。然后在调用'res.send'时,在route函数的末尾,它包含n*hallo或“很抱歉,找不到页面……您的生活在做什么?”
这是代码。我希望这能有所帮助
app.get(“/repeat/:word/:numbers”,函数(req,res){
var word=req.params.word;
变量编号=编号(要求参数编号);
var lol=“”
对于(变量i=1;变量i=3){
打破
lol=‘对不起,找不到页面……你这辈子在干什么?’;
}否则{
lol+=单词+“”;
}
}
res.send(lol);
});
应用程序获取(“*”,函数(请求,恢复){
res.send(“对不起,找不到页面……你这辈子在干什么?”);
});
app.listen(process.env.PORT、process.env.IP、function(){
log(“服务器已启动!!!”;
})
使用声明。哦,那只是因果报应。你不应该从评论中得到简单的建议,然后发布一个答案,糟糕的形式。我在发布时没有看到你的评论。哈哈,没关系,我只是在开玩笑,只是有点严肃。别担心。是的,你理解我的任务!但我的意思是微点击错误!=3=)@ArtemMazur这对你有用吗?我看到你在选择我的答案后选择了这个作为你的答案。我也这样做,不需要任何额外的中间件。此外,这个答案将发送多次响应,如next()
在一个循环中,这将给你错误错误:发送后无法设置标题。
@sookeisingh是的,我有这个错误,但是next()我认为应该按照我想要的方式工作,如果我写>3,工作正常,但是如果写得像我需要的那样!=3我有这个错误谢谢这是一个很好的解决方案,工作正常,但是我有一个关于下一步的问题()仅在node\express中或js中的任何地方执行此操作?您可以在此处阅读:
app.get("/repeat/:word/:numbers", function(req, res) {
var word = req.params.word;
var numbers = Number(req.params.numbers);
if (numbers > 3) {
res.send("Sorry, page not found...What are you doing with your life?");
} else {
var lol = ""
for (var i = 1; i <= numbers; i++) {
lol += word + " ";
}
res.send(lol);
}
});
app.get("/repeat/:word/:numbers", function(req, res, next) {
var word = req.params.word;
var numbers = Number(req.params.numbers);
if (numbers > 3) {
next();
} else {
var lol = ""
for (var i = 1; i <= numbers; i++) {
lol += word + " ";
}
res.send(lol);
}
});
app.all("*", function(req, res) {
res.send("Sorry, page not found...What are you doing with your life?");
});