Skip to content

defer (Lodash 互換性)

setTimeoutを使用してください

この defer 関数は、内部的に setTimeout(func, 1, ...args) を呼び出す単純なラッパー関数です。

代わりに、より直接的で現代的な setTimeout を使用してください。

関数を次のイベントループで実行するように遅延させます。

typescript
const timerId = defer(func, ...args);

参照

defer(func, ...args)

現在のコールスタックが終了した後に関数を実行したい場合は、deferを使用してください。関数の実行を次のイベントループに遅らせながら、追加の引数を関数に渡すことができます。

typescript
import { defer } from 'es-toolkit/compat';

// コンソール出力を遅延させます
defer(console.log, 'deferred message');
// 現在のコールスタックが終了した後に 'deferred message' を出力します

// 関数と引数を一緒に遅延実行します
const greet = (name: string, greeting: string) => {
  console.log(`${greeting}, ${name}!`);
};

defer(greet, 'John', 'Hello');
// 現在のコールスタックが終了した後に 'Hello, John!' を出力します

内部的に setTimeout(func, 1, ...args) を使用して、1ミリ秒後に関数を実行します。

typescript
import { defer } from 'es-toolkit/compat';

// 次の2つのコードは同じように動作します
defer(console.log, 'message');
setTimeout(console.log, 1, 'message');

パラメータ

  • func ((...args: any[]) => any): 遅延実行する関数です。
  • ...args (any[]): 関数に渡す引数です。

戻り値

(number): setTimeoutから返されたタイマーIDを返します。clearTimeoutで実行をキャンセルできます。

MIT ライセンスの下で配布されています。