Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Express.js中结束循环,以查看“下”部分*&引用;_Javascript_Node.js_Express_Backend - Fatal编程技术网

Javascript 如何在Express.js中结束循环,以查看“下”部分*&引用;

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

我试图在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; 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?");
});