UNPKG

es-toolkit

Version:

A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.

21 lines (20 loc) 630 B
//#region src/compat/function/defer.ts /** * Defers invoking the `func` until the current call stack has cleared. Any additional arguments are provided to func when it's invoked. * * @param func The function to defer. * @param args The arguments to invoke `func` with. * @returns Returns the timer id. * * @example * defer((text) => { * console.log(text); * }, 'deferred'); * // => Logs 'deferred' after the current call stack has cleared. */ function defer(func, ...args) { if (typeof func !== "function") throw new TypeError("Expected a function"); return setTimeout(func, 1, ...args); } //#endregion exports.defer = defer;