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();