lib.esnext.promise.d.ts (1658B)
1 /*! ***************************************************************************** 2 Copyright (c) Microsoft Corporation. All rights reserved. 3 Licensed under the Apache License, Version 2.0 (the "License"); you may not use 4 this file except in compliance with the License. You may obtain a copy of the 5 License at http://www.apache.org/licenses/LICENSE-2.0 6 7 THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 8 KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED 9 WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 10 MERCHANTABLITY OR NON-INFRINGEMENT. 11 12 See the Apache Version 2.0 License for specific language governing permissions 13 and limitations under the License. 14 ***************************************************************************** */ 15 16 17 /// <reference no-default-lib="true"/> 18 19 interface PromiseConstructor { 20 /** 21 * Takes a callback of any kind (returns or throws, synchronously or asynchronously) and wraps its result 22 * in a Promise. 23 * 24 * @param callbackFn A function that is called synchronously. It can do anything: either return 25 * a value, throw an error, or return a promise. 26 * @param args Additional arguments, that will be passed to the callback. 27 * 28 * @returns A Promise that is: 29 * - Already fulfilled, if the callback synchronously returns a value. 30 * - Already rejected, if the callback synchronously throws an error. 31 * - Asynchronously fulfilled or rejected, if the callback returns a promise. 32 */ 33 try<T, U extends unknown[]>(callbackFn: (...args: U) => T | PromiseLike<T>, ...args: U): Promise<Awaited<T>>; 34 }