We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent 36d64d0 commit 78010a6Copy full SHA for 78010a6
packages/toolkit/src/query/utils/signals.ts
@@ -1,10 +1,16 @@
1
// AbortSignal.timeout() is currently baseline 2024
2
export const timeoutSignal = (milliseconds: number) => {
3
const abortController = new AbortController()
4
- setTimeout(
5
- () => abortController.abort(new DOMException('', 'TimeoutError')),
6
- milliseconds,
7
- )
+ setTimeout(() => {
+ const message = 'signal timed out'
+ const name = 'TimeoutError'
+ abortController.abort(
8
+ // some environments (React Native, Node) don't have DOMException
9
+ typeof DOMException !== 'undefined'
10
+ ? new DOMException(message, name)
11
+ : Object.assign(new Error(message), { name }),
12
+ )
13
+ }, milliseconds)
14
return abortController.signal
15
}
16
0 commit comments