Javascript NodeJS Express-希望在单个路由上运行两次处理程序
我有一个路由Javascript NodeJS Express-希望在单个路由上运行两次处理程序,javascript,node.js,loops,express,Javascript,Node.js,Loops,Express,我有一个路由router.get('/generateDoc',handleRequest)我想运行此HandlerRequest两次。有人能建议我如何处理这种情况吗 下面是我的代码示例 function handleRequest(req, res, next) { for (var i = 0; i < 2; i++) { cacheService.clean(); PdfController.generatePDfs(req, res, nex
router.get('/generateDoc',handleRequest)代码>我想运行此HandlerRequest两次。有人能建议我如何处理这种情况吗
下面是我的代码示例
function handleRequest(req, res, next) {
for (var i = 0; i < 2; i++) {
cacheService.clean();
PdfController.generatePDfs(req, res, next);
}
}
函数handleRequest(请求、恢复、下一步){
对于(变量i=0;i<2;i++){
cacheService.clean();
PdfController.generatePDfs(请求、回复、下一步);
}
}
这是一个奇怪的要求,但您可以做到:
function handleRequestInnards(req, res, next) {
cacheService.clean();
PdfController.generatePDfs(req, res, next);
}
function handleRequest(req, res, next) {
handleRequestInnards(req, res, function() {
handleRequestInnards(req, res, next);
});
}
如果你有一个像这样的图书馆,你会有更多的运气,在那里你可以做出这样的承诺,并做如下事情:
function handleRequest(req, res, next) {
Promise.all([
handleRequest(req, res),
handleRequest(req, res)
]).asCallback(next);
}
这是一个奇怪的要求,但你可以做到:
function handleRequestInnards(req, res, next) {
cacheService.clean();
PdfController.generatePDfs(req, res, next);
}
function handleRequest(req, res, next) {
handleRequestInnards(req, res, function() {
handleRequestInnards(req, res, next);
});
}
如果你有一个像这样的图书馆,你会有更多的运气,在那里你可以做出这样的承诺,并做如下事情:
function handleRequest(req, res, next) {
Promise.all([
handleRequest(req, res),
handleRequest(req, res)
]).asCallback(next);
}
我认为您还可以添加两次中间件:
router.get('/generateDoc',handleRequest,handleRequest)代码>我认为您也可以添加两次中间件:
router.get('/generateDoc',handleRequest,handleRequest)代码>谢谢,但是我们可以确定它何时第二次触发吗?也许您必须在req
或res
中设置一个变量,以便检查。谢谢,但是我们可以确定它何时第二次触发吗?也许您必须在req
或res
中设置一个可以设置的变量检查。