伙计我有以下代码,它应该在每次连接到服务器并在控制台中发布消息时递增计数器,但它只增加一次,你能帮助我吗?
'use strict'
//Require express
var express=require('express');
//Trigger express
var app=express();
var counter=0;
//Set up the route URL
app.get('/', function(req, res){
res.send("<h1>You have connected</h1>");
});
//set up the port
app.listen(3000,function(){
//increment counter
counter+=1;
console.log("you have connected " + counter + " times");
})
答案 0 :(得分:1)
您需要将计数器移至响应内部。
app.get('/', function(req, res){
counter++;
res.send("<h1>You have connected "+counter+ " times </h1>");
});
这样一旦页面加载,它就会递增,而不仅仅是当你启动它并开始用app.listen()监听时。
答案 1 :(得分:1)
理想情况下,您需要在“连接”中添加一个监听器。事件(express对象继承自HTTP,因此服务器有此事件)服务器,并在那里递增计数器:
app.on('connect', function() {
counter++;
});
锄头有帮助。
答案 2 :(得分:0)
你必须将计数器变量存储在某些持久存储器中,如数据库或文本文件,否则每次请求时它总是设置为零