Merge pull request #17672 from kimushu/accept-promiselike

Accept PromiseLike object as a return value of onFinally handler (@types/promise.prototype.finally)
This commit is contained in:
Ron Buckton
2017-06-30 23:44:10 -07:00
committed by GitHub
3 changed files with 6 additions and 4 deletions

View File

@@ -1,11 +1,11 @@
// Type definitions for promise.prototype.finally v2.0.1
// Type definitions for promise.prototype.finally 2.0
// Project: https://github.com/matthew-andrews/Promise.prototype.finally
// Definitions by: Slava Shpitalny <https://github.com/slavik57>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
declare global {
interface Promise<T> {
finally<U>(onFinally?: () => U | Promise<U>): Promise<T>;
finally<U>(onFinally?: () => U | PromiseLike<U>): Promise<T>;
}
}

View File

@@ -2,13 +2,14 @@ import promiseFinally = require('promise.prototype.finally');
promiseFinally.shim();
var promise = new Promise<Boolean>((resolve, reject) => {
let promise = new Promise<boolean>((resolve, reject) => {
resolve(true);
});
promise.finally(() => {});
promise.finally(() => <PromiseLike<void>> Promise.resolve());
promise.then(() => {}, () => {}).finally(() => {});
promise.catch(() => {}).finally(() => {});
var allPromise = Promise.all([promise]);
let allPromise = Promise.all([promise]);
allPromise.finally(() => {});

View File

@@ -0,0 +1 @@
{ "extends": "dtslint/dt.json" }