78 items
Typing for-await-of Loop Variables
FlashcardTyping .then() and .catch() Handlers
FlashcardWhy Promise Rejections Aren't Typed
Slides / VideoVoid-Returning Promises and Fire-and-Forget
Slides / VideoTyping Promise Executor Callbacks
Slides / VideoResult Union Types for Success and Failure
Slides / VideoCustom Error Classes and Typing Them
Slides / VideoThe useUnknownInCatchVariables Flag
Slides / VideoNarrowing unknown Errors in catch
Slides / VideoCatch Clause Errors Are unknown
Slides / VideoTyping race, allSettled, and any
Slides / VideoTyping Promise.all Tuple Results
Slides / VideoTyping await and Unwrapped Values
Slides / VideoThe Promise<T> Type Parameter
Slides / VideoAsync Function Return Types
Slides / VideoChained then Return Value
Code QuizNarrowing an unknown Error
Code QuizTyping the Executor Callback
Code Quizinstanceof Error Narrowing
Code Quizcatch Variable Is unknown
Code QuizTyping catch Handler Parameter
Code QuizCustom Error Class Typing
Code QuizReading allSettled Results
Code QuizWrong Resolved Value Type in Promise
Code QuizFloating Promise Not Awaited
Code QuizDiscriminated Result Type
Code QuizTyping an async Generator
Code QuizIterating an AsyncIterable
Code Quizasync Function Returning void
Code QuizAlways-Throwing Function Return Type
Code QuizPromise Type Has One Parameter
Code QuizTyping an async Arrow Function
Code QuizTyping Promise.resolve and reject
Code QuizAwaiting a Non-Promise Value
Code QuizPromise.all Result Tuple Types
Code Quizawait Outside an async Function
Code QuizAwaiting Unwraps the Value Type
Code QuizAsync Function Return Type
Code QuizTyping a Promise with Promise<T>
Code QuizPromise.race Return Type
Code QuizTyping Promise.all Result Tuples
QuizFloating Promise Concerns
Quizvoid vs Promise<void> in Async Contexts
QuizTyping Callback-to-Promise Wrappers
Quizfor await...of Element Typing
QuizAsync Generators and AsyncIterable Types
QuizTyping then/catch Callback Chains
QuizResult / Either Pattern for Typed Errors
Quiznever Return Type for Throwing Functions
QuizTyping Rejected Promise Values
QuizCustom Error Class Typing
Quizinstanceof Error Narrowing in catch
QuizNarrowing Errors in catch Blocks
QuizuseUnknownInCatchVariables Flag
Quizcatch Clause Variable Typing
QuizPromise Executor and resolve/reject Typing
QuizTyping Promise.allSettled Result Shape
QuizTyping Promise.race and Promise.any
QuizTyping async Function Return Values
QuizPromise<T> Type Annotation
Quizawait Expression Result Types
QuizErrors Are Typed as unknown in catch
FlashcardThe Promise<T> Type
FlashcardExplicitly Annotating async Return Types
FlashcarduseUnknownInCatchVariables Flag
FlashcardNarrowing Caught Errors with instanceof
FlashcardVoid vs Undefined Return in Async Callbacks
FlashcardTyping Promise Resolution Values
FlashcardTyping Promise.all Results as a Tuple
FlashcardTyping Promise.race and Promise.allSettled
FlashcardCustom Error Class Typing
FlashcardTyping the Promise Executor Callbacks
FlashcardThe never Type in Throwing Functions
FlashcardResult/Either Pattern for Error Handling
FlashcardChaining Promises and Return Type Flow
FlashcardPromiseSettledResult Types
FlashcardAwaiting a Promise and the Resulting Type
Flashcardasync Function Return Type Inference
FlashcardReading allSettled Results
A Promise.allSettled result must be checked for status before reading value.
const results = await Promise.allSettled([
Promise.resolve(1),
Promise.reject(new Error("boom")),
]);
for (const r of results) {
console.log(r.value);
}What is the bug in this code?