Tag: 终止

NodeJS Express:如何中断外部中间件/路由器的路由?

我实现了一个非常简单的中间件来检查用户的权限: app.js … var security = require('./lib/security'); app.use(security.init); … LIB / security.js var session; var request; var response; function init(req, res, next) { request = req; response = res; session = req.session; next(); } function adminRequired(){ if (!isAdmin()){ response.redirect('/login'); response.end(); return true; } return false; } … 我发现中断stream程的最佳方式如下: 路线/ mycontroller.js router.get('/', function(req, res, next) { […]

被asynchronous函数引发的错误被捕获

我想使用asynchronous函数而不是返回一个承诺,但是要拒绝我需要抛出这样的错误: async function asyncOperation() { throw new Error("Terminate this application."); } (async () => { try { await asyncOperation(); } catch (e) { console.error(e); } console.log("Nope, I am still running!"); // This will be printed regardless })(); 这意味着要捕获拒绝,我必须把函数调用放在一个try语句中。 这样做,而不是终止应用程序,我赶上了错误,我可以继续下去。 这当然可以像你期望的那样工作,但是我想抛出一个错误来实际终止应用程序,而不pipe函数是否在try语句中被调用。 如何在不检查catch语句中的错误的情况下实现这一点?

节点杀死线程但不处理

我想知道是否可以终止节点应用程序正在执行的线程,但不是进程。 现在,我知道这听起来很奇怪,因为节点是单线程的,但是我正在处理一个处理进程中的.NET应用程序。 而当我用process.exit()终止节点时,整个应用程序被closures,这是我不想要的行为。 我只想节点线程被终止。 老实说,我非常绝望,我甚至尝试过,获取所有应用程序线程的列表,在创build线程在哪​​个节点正在执行之前,然后创build另一个列表,然后删除所有在开始节点之前存在的线程,保持引用剩余的线程,认为它是节点线程。 正如你所期望的那样,结果并不好。 我使用EdgeJS主机节点,如果这有什么区别。 不幸的是,它没有内置的function来终止自己。 哦, server.close()不适合我,出于某种原因。 我在我的节点代码中托pipe一个videostream服务器,如果这个信息可以以任何方式帮助你的话。 感谢所有提前的帮助!

如何在退出时执行asynchronous操作

我一直试图在我的进程终止之前执行asynchronous操作。 说'终止'我的意思是一切终止的可能性: ctrl+c 未捕获的exception 崩溃 代码结束 什么..] 据我所知, exit事件,但同步操作。 阅读Nodejs文档我发现beforeExit事件是为asynchronous操作但是: “beforeExit”事件不是针对导致显式终止的条件发出的,例如调用process.exit()或未捕获的exception。 除非意图安排额外的工作,否则“beforeExit”不应该被用作“退出”事件的替代scheme。 有什么build议么?