Transition-акторы
Transition-акторы — это акторы, логика которых представлена функцией перехода состояний, которая возвращает следующее состояние актора на основе:
- Текущего состояния актора
- События, которое вызвало переход
Это очень похоже на функцию-редьюсер в библиотеках вроде Redux.
Возможности Transition-акторов¶
| Возможность | Примечания | |
|---|---|---|
| ✅ | Получение событий | Transition-акторы получают события для изменения своего состояния. |
| ✅ | Отправка событий | Transition-акторы могут отправлять события другим акторам, на которые у них есть ссылка, например, предоставленным в input. Обратите внимание, что это нечисто. |
| ❌ | Порождение акторов | Transition-акторы в настоящее время не могут порождать новых акторов. |
| ✅ | Input | Вы можете передавать input Transition-акторам. |
| ❌ | Output | Transition-акторы в настоящее время не производят output — они активны бесконечно, пока не будут остановлены или не произойдёт ошибка. |
Логика Transition-актора¶
Вы можете определить логику Transition-актора с помощью создателя логики актора fromTransition(...), который принимает два аргумента:
- Функцию перехода состояний, которая возвращает следующее состояние актора
- Начальное состояние для актора
Создатель логики актора возвращает логику актора, которую можно использовать для создания Transition-акторов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
Входные данные Transition-актора¶
Вы можете передать input в Transition-актор, который будет передан в функцию, определяющую начальное состояние.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | |