Lesson 25 of 56 · Typescript
Promises & Generics
Duration: 15 minutes
Generic Promise Helper
function wrap<T>(value: T): Promise<T> {
return Promise.resolve(value);
}
wrap(5).then(n => console.log(n * 2)); // 10
Promise.allSettled
Returns a uniform shape regardless of fulfillment or rejection.
const results = await Promise.allSettled([
fetch('/a'),
fetch('/b'),
]);
results is typed as PromiseSettledResult<Response>[].
Creating a typed delayed function
function delay<T>(ms: number, value: T): Promise<T> {
return new Promise(resolve => setTimeout(() => resolve(value), ms));
}