首页 > 解决方案 > 如何使用 express 显示实时变量 node.js

问题描述

因此,我一直在尝试实时显示我的变量“pares”、“impares”、“ninguno”,如下图所示,我使用了 app.get 并在其中使用了 response.write 来打印 de 变量,但问题是如果我要更新变量,每次都需要重新加载页面,有没有实时打印?,在此处输入图像描述

var express = require('express');
var bodyParser = require('body-parser');
var app = express();

var reload = require('reload');
var http = require('http');
var server = http.createServer(app);

var impares = 0;
var pares = 0;
var ninguno =0;

app.use(bodyParser.urlencoded({extended : true}));
app.use(bodyParser.json());


app.post('/arduino', function(request, response) {
    console.log("Arduino asking data");
    var stringInform = (Object.keys(request.body)).toString();
    var stringA = stringInform.split("|");
    var dato1= parseInt(stringA[0],10);
    var dato2 = parseInt(stringA[1],10);
    response.send('Hello Arduino'); 
    Parimpar(dato1,dato2);
    response.end();
    console.log(dato1);
    console.log(dato2);
    console.log(ninguno);
});

 app.get('/arduino', function(request, response) {
    response.write('PARES:'+ pares + ' '+ 'IMPARES:' + impares + ' ' + 'NINGUNO:'+ ninguno);
    response.end();   
});


app.listen(8080);

function Parimpar(c,i)
{
    if (c%2 == 0  && i%2 == 0)
    {
        pares = pares +1;
    //  return pares;
    }
    else if (c%2 != 0 && i%2 != 0)
    {
        impares = impares + 1;
        //return impares;
    }
    else
    {
        ninguno = ninguno +1 ;
        //return ninguno;
    }



}

标签: javascriptnode.js

解决方案


您可以使用 Web 套接字在值更新时发出事件。更简单的方法是设置一个 socket.io 网络服务器并向所有连接的值发出值。查看https://socket.io/


推荐阅读