createScheduler
Стабильный · с 0.1.0
Создаёт планировщик диспатча, которым рантайм пользуется внутри. Две встроенные стратегии — 'microtask' и 'sync' — закрывают почти любые реальные потребности; createScheduler доступен для кастомной композиции рантайма, низкоуровневых тестов и бенчмарков.
Microtask-планировщик батчит поставленные в очередь задачи и осушает их в queueMicrotask. Sync-планировщик запускает задачи немедленно, в стеке вызывающей стороны.
Сигнатура
Заголовок раздела «Сигнатура»Параметры
Заголовок раздела «Параметры»| Параметр | Тип | Описание |
|---|---|---|
strategy | 'sync' | 'microtask' | Политика диспатча. |
Возвращает
Заголовок раздела «Возвращает»SchedulerImpl:
| Метод | Описание |
|---|---|
enqueue(task) | Поставить thunk в очередь. Microtask: батчит до следующего осушения микротасок. Sync: запускает немедленно. |
flush() | Осушить отложенные задачи прямо сейчас. Для тестов и fireSync. Sync-планировщик очередь не держит, поэтому его flush — no-op. |
Примеры
Заголовок раздела «Примеры»Microtask-батчинг
Заголовок раздела «Microtask-батчинг»Синхронный диспатч
Заголовок раздела «Синхронный диспатч»Изоляция ошибок в microtask-режиме
Заголовок раздела «Изоляция ошибок в microtask-режиме»Замечания
Заголовок раздела «Замечания»См. также
Заголовок раздела «См. также» createRuntime Рантайм автоматически выбирает планировщик per-trigger.
createFakeScheduler Планировщик с виртуальным временем для тестов.
Руководство по планированию Microtask vs sync — когда что выбирать.
Стратегии конкурентности Как асинхронные обработчики переплетаются по каждой стратегии.