Scope
Незавиисимый изолированиый инстанс приложения, содержит копию всех юнитов (включая связи между ними) и основные методы для доступа к ним.
Основные области применения - реализация SSR и тестирование приложения.
Scope может быть создан с помощью fork
#
Формула#
Методы#
getStateВозвращает значение стора в данном scope
#
Пример использования getStateСоздание двух инстансов приложения, вызов событий в них и проверка сохранения значения стора $counter
в каждом из них
#
Императивные вызовы эффектов и scopeЕсли эффект вызывает другие эффекты, то он может вызывать только эффекты, а не обычные асинхронные функции, и вызовы эффектов должны иметь await:
Правильно, эффект без внутренних эффектов:
Правильно, эффект с внутренними эффектами:
Неправильно, эффект с внутренними эффектами после обычных асинхронных вызовов:
Таким образом, любой эффект может либо вызывать другой эффект, либо выполнять некоторые асинхронные вычисления, но не то и другое
tip
Вместо императивных вызовов оптимальнее использовать attach
caution
Императивные вызовы эффектов поддерживаются только в обработчиках других эффектов, не в watch
функциях