首页 > 解决方案 > Node.js 表达如何从路由中退出

问题描述

我是我的应用程序,我在客户端 html 页面上有两个按钮,

START=> 这调用了一个调用 router.get('check/start') 的服务

PAUSE=> 这调用了一个调用 router.get('check/pause') 的服务

在我的 server.js 中,

const check = require('./routes/check')
....
app.use('/check', check);
..
app.get('/', function(req, res){
   res.json({
      "message": "Welcome to the home location"
   });
});
....

而且 routes/check.js 是,

var express = require('express');
var router = require('express').Router();
var JsonObj;
var io = req.app.get('socketio');
router.get('/start', function(req, res, next) {
    ReadFile(io);     
});

function ReadFile(io) {
    return new Promise((resolve, reject) => {
       myInterval = setInterval(function(){
            JsonObj.marks = parseInt(Math.random()*100);
            io.emit('data', JsonObj);   
        }, 1000);    

    })
}

router.get('/pause', function(req, res) {
    clearInterval(myInterval);
 });

module.exports = router;

此代码实际上适用于 START 和 PAUSE 按钮,但我也希望有 CANCEL 按钮,它将我从路线中带出并呈现主路线。我不明白,如何从路线中走出来。我试着把 return 0; 但它会引发错误。

请建议。谢谢

标签: node.jsexpress

解决方案


你需要去/路线,所以你可以使用res.redirect;

router.get('/stop', function(req, res) {
  //do the stopping work
  res.redirect('/');
});

这将渲染/路线。并返回{ "message": "Welcome to the home location" }


推荐阅读