UNPKG

2.94 kBTypeScriptView Raw
1/**
2 * The `timers/promises` API provides an alternative set of timer functions
3 * that return `Promise` objects. The API is accessible via`require('timers/promises')`.
4 *
5 * ```js
6 * import {
7 * setTimeout,
8 * setImmediate,
9 * setInterval,
10 * } from 'timers/promises';
11 * ```
12 *
13 * ```js
14 * const {
15 * setTimeout,
16 * setImmediate,
17 * setInterval,
18 * } = require('timers/promises');
19 * ```
20 * @since v15.0.0
21 */
22declare module 'timers/promises' {
23 import { TimerOptions } from 'node:timers';
24 /**
25 * ```js
26 * import {
27 * setTimeout,
28 * } from 'timers/promises';
29 *
30 * const res = await setTimeout(100, 'result');
31 *
32 * console.log(res); // Prints 'result'
33 * ```
34 *
35 * ```js
36 * const {
37 * setTimeout,
38 * } = require('timers/promises');
39 *
40 * setTimeout(100, 'result').then((res) => {
41 * console.log(res); // Prints 'result'
42 * });
43 * ```
44 * @since v15.0.0
45 * @param [delay=1] The number of milliseconds to wait before fulfilling the promise.
46 * @param value A value with which the promise is fulfilled.
47 */
48 function setTimeout<T = void>(delay?: number, value?: T, options?: TimerOptions): Promise<T>;
49 /**
50 * ```js
51 * import {
52 * setImmediate,
53 * } from 'timers/promises';
54 *
55 * const res = await setImmediate('result');
56 *
57 * console.log(res); // Prints 'result'
58 * ```
59 *
60 * ```js
61 * const {
62 * setImmediate,
63 * } = require('timers/promises');
64 *
65 * setImmediate('result').then((res) => {
66 * console.log(res); // Prints 'result'
67 * });
68 * ```
69 * @since v15.0.0
70 * @param value A value with which the promise is fulfilled.
71 */
72 function setImmediate<T = void>(value?: T, options?: TimerOptions): Promise<T>;
73 /**
74 * Returns an async iterator that generates values in an interval of `delay` ms.
75 *
76 * ```js
77 * import {
78 * setInterval,
79 * } from 'timers/promises';
80 *
81 * const interval = 100;
82 * for await (const startTime of setInterval(interval, Date.now())) {
83 * const now = Date.now();
84 * console.log(now);
85 * if ((now - startTime) > 1000)
86 * break;
87 * }
88 * console.log(Date.now());
89 * ```
90 *
91 * ```js
92 * const {
93 * setInterval,
94 * } = require('timers/promises');
95 * const interval = 100;
96 *
97 * (async function() {
98 * for await (const startTime of setInterval(interval, Date.now())) {
99 * const now = Date.now();
100 * console.log(now);
101 * if ((now - startTime) > 1000)
102 * break;
103 * }
104 * console.log(Date.now());
105 * })();
106 * ```
107 * @since v15.9.0
108 */
109 function setInterval<T = void>(delay?: number, value?: T, options?: TimerOptions): AsyncIterable<T>;
110}
111declare module 'node:timers/promises' {
112 export * from 'timers/promises';
113}