MCPcopy Create free account
hub / github.com/subquery/subql / timeout

Function timeout

packages/node-core/src/utils/promise.ts:11–30  ·  view source on GitHub ↗
(promise: Promise<T>, sec: number, errMsg = 'timeout')

Source from the content-addressed store, hash-verified

9}
10
11export async function timeout<T>(promise: Promise<T>, sec: number, errMsg = 'timeout'): Promise<T> {
12 // so we can have a more comprehensive error stack
13 const err = new Error(errMsg);
14 let timeout: NodeJS.Timeout;
15 return Promise.race([
16 promise.then(
17 (r) => {
18 clearTimeout(timeout);
19 return r;
20 },
21 (e) => {
22 clearTimeout(timeout);
23 throw e;
24 }
25 ),
26 new Promise<never>((resolve, reject) => {
27 timeout = setTimeout(() => reject(err), sec * 1000);
28 }),
29 ]);
30}
31
32export class BackoffError extends Error {
33 readonly lastError: any;

Callers 8

promise.spec.tsFile · 0.90
takeMethod · 0.90
runTimeoutMethod · 0.90
initFunction · 0.90
getDataFunction · 0.90
rewindTargetMethod · 0.90
getSpecVersionsRawMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected