| Leo Repp | 58b9f11 | 2021-11-22 11:57:47 +0100 | [diff] [blame^] | 1 | 'use strict'; |
| 2 | module.exports = (promise, onFinally) => { | ||||
| 3 | onFinally = onFinally || (() => {}); | ||||
| 4 | |||||
| 5 | return promise.then( | ||||
| 6 | val => new Promise(resolve => { | ||||
| 7 | resolve(onFinally()); | ||||
| 8 | }).then(() => val), | ||||
| 9 | err => new Promise(resolve => { | ||||
| 10 | resolve(onFinally()); | ||||
| 11 | }).then(() => { | ||||
| 12 | throw err; | ||||
| 13 | }) | ||||
| 14 | ); | ||||
| 15 | }; | ||||