Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ function fn(x: () => void) {
```ts
/* WRONG */
interface Fetcher {
getObject(done: (data: unknown, elapsedTime?: number) => void): void;
fetchObject(done: (data: unknown, elapsedTime?: number) => void): void;
}
```

Expand All @@ -93,10 +93,12 @@ it's always legal to provide a callback that accepts fewer arguments.
```ts
/* OK */
interface Fetcher {
getObject(done: (data: unknown, elapsedTime: number) => void): void;
fetchObject(done: (data: unknown, elapsedTime: number) => void): void;
}
```

The method returns `void` because it delivers its result through the callback. The callback's `elapsedTime` parameter is non-optional because the callback is always called with that argument.

### Overloads and Callbacks

❌ **Don't** write separate overloads that differ only on callback arity:
Expand Down