Skip to content

Commit 6fbb547

Browse files
committed
feat: only once beforeExit
1 parent e199945 commit 6fbb547

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

exit.js

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,10 @@ const pt = require('promise-timeout');
66

77
module.exports = function getExitFunction(beforeExit, logger, label, timeout) {
88
assert(!beforeExit || typeof beforeExit === 'function', 'beforeExit only support function');
9+
const handler = once(beforeExit || function() {});
910

10-
return once(code => {
11-
if (!beforeExit) process.exit(code);
12-
13-
pt.timeout(new Promise(resolve => resolve(beforeExit())), timeout)
11+
return function exitFunction(code) {
12+
pt.timeout(new Promise(resolve => resolve(handler())), timeout)
1413
.then(() => {
1514
logger.info('[%s] beforeExit success', label);
1615
process.exit(code);
@@ -19,5 +18,5 @@ module.exports = function getExitFunction(beforeExit, logger, label, timeout) {
1918
logger.error('[%s] beforeExit fail, error: %s', label, err.message);
2019
process.exit(code);
2120
});
22-
});
21+
};
2322
};

0 commit comments

Comments
 (0)