15 lines
302 B
JavaScript
15 lines
302 B
JavaScript
'use strict';
|
|
module.exports = (promise, onFinally) => {
|
|
onFinally = onFinally || (() => {});
|
|
|
|
return promise.then(
|
|
val => new Promise(resolve => {
|
|
resolve(onFinally());
|
|
}).then(() => val),
|
|
err => new Promise(resolve => {
|
|
resolve(onFinally());
|
|
}).then(() => {
|
|
throw err;
|
|
})
|
|
);
|
|
};
|