Skip to content

runEffects.ts

Назначение файла

Модуль предоставляет функцию runEffects(), которая принудительно выполняет все эффекты, уже поставленные runtime в очередь.

Общая информация

Эта утилита особенно полезна в тестах и синхронных интеграционных сценариях, когда нужно не ждать естественного завершения microtask-очереди, а явно дренировать планировщики Nrgy runtime.

Концептуальная архитектура

runEffects() является тонкой оберткой над RUNTIME.runEffects(). Внутри runtime выполняются:

  • очередь синхронных эффектов;
  • очередь асинхронных эффектов;
  • очередь microtask-callback'ов.

Это делает функцию удобным entrypoint для детерминированного завершения отложенных реактивных операций.

Описание публичного API

runEffects(): void

  • Не принимает аргументов.
  • Выполняет все запланированные эффекты и callback'и runtime.

Примеры использования

ts
import { atom, effect, runEffects } from '@nrgyjs/core';

const value = atom(0);
effect(value, (next) => {
  console.log(next);
});

value.set(1);
runEffects();