es-toolkit/docs/reference/function/after.md
정해준 231b7ef83c
feat(after): Add after (#258)
* feat(after): Add after function

* feat(after): Add after test code

* feat(after): Add after benchmark

* feat(after): Add after docs

* fix(after): should create a function that unc only after being called
 calls

* docs(after): change the after function docs

* Apply suggestions from code review

* Apply suggestions from code review

---------

Co-authored-by: Sojin Park <raon0211@gmail.com>
Co-authored-by: Sojin Park <raon0211@toss.im>
2024-07-21 21:24:00 +09:00

1.0 KiB

after

Creates a function that only executes starting from the n-th call. The provided function will be invoked starting from the n-th call.

The is particularly useful for scenarios involving events or asynchronous operations where an action should occur only after a certain number of invocations.

Signature

function after<F extends (...args: any[]) => any>(n: number, func: F): F;

Parameters

  • n (number): The number of calls required for func to execute.
  • func (F): The function to be invoked.

Returns

(F): A new function that:

  • Tracks the number of calls.
  • Invokes func starting from the n-th call.
  • Returns undefined if fewer than n calls have been made.

Throws

Throws an error if n is negative.

Examples

import { after } from 'es-toolkit/function';

const mockFn = () => {
  console.log('called');
};
const afterFn = after(3, mockFn);

// Will not log anything.
afterFn();
// Will not log anything.
afterFn();
// Will log 'called'.
afterFn();