1234567891011121314151617181920 |
- // https://github.com/tc39/proposal-promise-finally
- 'use strict';
- var $export = require('./_export');
- var core = require('./_core');
- var global = require('./_global');
- var speciesConstructor = require('./_species-constructor');
- var promiseResolve = require('./_promise-resolve');
- $export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) {
- var C = speciesConstructor(this, core.Promise || global.Promise);
- var isFunction = typeof onFinally == 'function';
- return this.then(
- isFunction ? function (x) {
- return promiseResolve(C, onFinally()).then(function () { return x; });
- } : onFinally,
- isFunction ? function (e) {
- return promiseResolve(C, onFinally()).then(function () { throw e; });
- } : onFinally
- );
- } });
|