LendAndRegret/node_modules/es-toolkit/dist/compat/function/delay.d.ts
2026-05-02 17:27:43 +08:00

30 lines
1.0 KiB
TypeScript

/**
* Invokes the specified function after a delay of the given number of milliseconds.
* Any additional arguments are passed to the function when it is invoked.
*
* @param {(...args: any[]) => any} func - The function to delay.
* @param {number} wait - The number of milliseconds to delay the invocation.
* @param {...any[]} args - The arguments to pass to the function when it is invoked.
* @returns {number} Returns the timer id.
* @throws {TypeError} If the first argument is not a function.
*
* @example
* // Example 1: Delayed function execution
* const timerId = delay(
* (greeting, recipient) => {
* console.log(`${greeting}, ${recipient}!`);
* },
* 1000,
* 'Hello',
* 'Alice'
* );
* // => 'Hello, Alice!' will be logged after one second.
*
* // Example 2: Clearing the timeout before execution
* clearTimeout(timerId);
* // The function will not be executed because the timeout was cleared.
*/
declare function delay(func: (...args: any[]) => any, wait: number, ...args: any[]): number;
export { delay };