a
doum
18 小时以前 307960b07d8cb122d9de0c8267b8cb7a63cfc605
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
'use strict';
var util = require('util');
var onExit = require('signal-exit');
var currentlyUnhandled = require('currently-unhandled');
 
var installed = false;
 
module.exports = function (log) {
    if (installed) {
        return;
    }
 
    installed = true;
 
    log = log || console.error;
 
    var listUnhandled = currentlyUnhandled();
 
    onExit(function () {
        var unhandledRejections = listUnhandled();
 
        if (unhandledRejections.length > 0) {
            unhandledRejections.forEach(function (x) {
                var err = x.reason;
 
                if (!(err instanceof Error)) {
                    err = new Error('Promise rejected with value: ' + util.inspect(err));
                }
 
                log(err.stack);
            });
 
            process.exitCode = 1;
        }
    });
};