Function promiseSingleton

  • Оборачивает асинхронную функцию и гарантирует, что все повторные вызовы, во время ожидания асинхронной функции, не будут приводить к повторному вызову самой функции.

    Returns

    Декорированная асинхронная функция.

    Example

    let i = 0;
    const f = promiseSingleton(async () => {
    await delay(100);
    return i++;
    });
    await Promise.all([f(), f()]); // 0, 0

    Type Parameters

    • R = void

    Parameters

    • func: (() => Promise<R>)

      Асинхронная функция.

        • (): Promise<R>
        • Returns Promise<R>

    Returns (() => Promise<R>)

      • (): Promise<R>
      • Returns Promise<R>

Generated using TypeDoc