Back to Functions

delay

function

Invokes func after wait milliseconds.

Installation

Import
import { delay } from '@tulx/utils';

Source Code

Implementation
/**
 * Invokes func after wait milliseconds.
 *
 * @param func - The function to delay.
 * @param wait - The number of milliseconds to delay invocation.
 * @param args - The arguments to invoke func with.
 * @returns Returns the timer id.
 *
 * @example
 * ```ts
 * delay((text: string) => console.log(text), 1000, 'later'); // Logs 'later' after one second.
 * ```
 */
// eslint-disable-next-line @typescript-eslint/no-explicit-any
export function delay<T extends (...args: any[]) => any>(
  func: T,
  wait: number,
  ...args: Parameters<T>
): ReturnType<typeof setTimeout> {
  return setTimeout(() => func(...args), wait);
}

Example

import { delay } from '@tulx/utils';

delay((text: string) => console.log(text), 1000, 'later'); // Logs 'later' after one second.

Related Functions