| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 | | '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; |  |         }) |  |     ); |  | }; | 
 |