Explore Library
TypeScriptAsync, Promises & Error Handling Types

55 items

1

Wrong Resolved Value Type in Promise

Code Quiz
2

Iterating an AsyncIterable

Code Quiz
3

Typing an async Generator

Code Quiz
4

Discriminated Result Type

Code Quiz
5

Floating Promise Not Awaited

Code Quiz
6

Promise Type Has One Parameter

Code Quiz
7

Always-Throwing Function Return Type

Code Quiz
8

async Function Returning void

Code Quiz
9

Typing an async Arrow Function

Code Quiz
10

await Outside an async Function

Code Quiz
11

Async Function Return Type

Code Quiz
12

Awaiting a Non-Promise Value

Code Quiz
13

Typing Promise.resolve and reject

Code Quiz
14

Promise.all Result Tuple Types

Code Quiz
15

Promise.race Return Type

Code Quiz
16

Typing a Promise with Promise<T>

Code Quiz
17

Awaiting Unwraps the Value Type

Code Quiz
18

Result / Either Pattern for Typed Errors

Quiz
19

Typing Rejected Promise Values

Quiz
20

Custom Error Class Typing

Quiz
21

instanceof Error Narrowing in catch

Quiz
22

Narrowing Errors in catch Blocks

Quiz
23

await Expression Result Types

Quiz
24

Promise<T> Type Annotation

Quiz
25

Typing async Function Return Values

Quiz
26

Typing Promise.all Result Tuples

Quiz
27

Typing Promise.race and Promise.any

Quiz
28

Typing Promise.allSettled Result Shape

Quiz
29

Promise Executor and resolve/reject Typing

Quiz
30

catch Clause Variable Typing

Quiz
31

useUnknownInCatchVariables Flag

Quiz
32

Async Generators and AsyncIterable Types

Quiz
33

Typing then/catch Callback Chains

Quiz
34

never Return Type for Throwing Functions

Quiz
35

Floating Promise Concerns

Quiz
36

void vs Promise<void> in Async Contexts

Quiz
37

Typing Callback-to-Promise Wrappers

Quiz
38

for await...of Element Typing

Quiz
39

PromiseSettledResult Types

Flashcard
40

The Promise<T> Type

Flashcard
41

Chaining Promises and Return Type Flow

Flashcard
42

Awaiting a Promise and the Resulting Type

Flashcard
43

async Function Return Type Inference

Flashcard
44

Result/Either Pattern for Error Handling

Flashcard
45

The never Type in Throwing Functions

Flashcard
46

Typing the Promise Executor Callbacks

Flashcard
47

Custom Error Class Typing

Flashcard
48

Typing Promise.race and Promise.allSettled

Flashcard
49

Typing Promise.all Results as a Tuple

Flashcard
50

Typing Promise Resolution Values

Flashcard
51

Void vs Undefined Return in Async Callbacks

Flashcard
52

Narrowing Caught Errors with instanceof

Flashcard
53

useUnknownInCatchVariables Flag

Flashcard
54

Errors Are Typed as unknown in catch

Flashcard
55

Explicitly Annotating async Return Types

Flashcard
QuizIntermediate

Narrowing Errors in catch Blocks

Learn why you must narrow an unknown caught error before using it.

Given `catch (e) {}` where `e` is unknown, why can't you write `console.log(e.message)` directly?