在现代NodeJS中
从io.js 1.4和Node 4.0.0开始,您可以使用以下
process
"unhandledRejection"事件:
process.on("unhandledRejection", function(reason, p){ console.log("Unhandled", reason, p); // log all your errors, "unsuppressing" them. throw reason; // optional, in case you want to treat these as errors});这消除了未处理的拒绝问题以及在代码中跟踪它们的难度。
在较旧的NodeJS中
这些事件尚未反向移植到较旧的NodeJS版本,并且不太可能。您可以使用扩展了原生Promise
API(例如bluebird)的Promise库,该API
会触发与现代版本中相同的事件。
还值得一提的是,有多个userland
promise库提供未处理的拒绝检测功能,还有更多内容,例如bluebird(也有警告)和when。



