node.js - 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; 但它会引发错误。
请建议。谢谢
解决方案
你需要去/
路线,所以你可以使用res.redirect
;
router.get('/stop', function(req, res) {
//do the stopping work
res.redirect('/');
});
这将渲染/
路线。并返回{ "message": "Welcome to the home location" }