pinusmod
Version:
[](https://travis-ci.org/node-pinus/pinus)
41 lines (36 loc) • 1.19 kB
text/typescript
import { Promise } from 'bluebird';
// 支持注解
import 'reflect-metadata';
import { pinus } from 'pinus';
/**
* 替换全局Promise
* 自动解析sourcemap
* 捕获全局错误
*/
export function preload() {
// 使用bluebird输出完整的promise调用链
((global as any).Promise as any) = (Promise as any);
// 开启长堆栈
Promise.config({
// Enable warnings
warnings: true,
// Enable long stack traces
longStackTraces: true,
// Enable cancellation
cancellation: true,
// Enable monitoring
monitoring: true
});
// 自动解析ts的sourcemap
require('source-map-support').install({
handleUncaughtExceptions: false
});
// 捕获普通异常
process.on('uncaughtException', function (err) {
console.error(pinus.app ? pinus.app.getServerId() : "unknownServerId", 'uncaughtException Caught exception: ', err);
});
// 捕获async异常
process.on('unhandledRejection', (reason: any, p) => {
console.error(pinus.app ? pinus.app.getServerId() : "unknownServerId", 'Caught Unhandled Rejection at:', p, 'reason:', reason);
});
}