Observable-акторы
Observable-акторы — это акторы, которые представляют наблюдаемый поток значений. Это упрощает взаимодействие с библиотеками наблюдаемых объектов, такими как RxJS.
Совет
Все акторы XState являются наблюдаемыми.
Возможности Observable-акторов¶
| Возможность | Примечания | |
|---|---|---|
| ❌ | Получение событий | Observable-акторы в настоящее время не получают события. |
| ✅ | Отправка событий | Observable-акторы могут отправлять события другим акторам, на которые у них есть ссылка, например, предоставленным в input. |
| ❌ | Порождение акторов | Observable-акторы в настоящее время не могут порождать новых акторов. |
| ✅ | Input | Вы можете передавать input Observable-акторам. |
| ❌ | Output | Observable-акторы в настоящее время не производят output — они активны бесконечно, пока не будут остановлены, завершены или не произойдёт ошибка. |
Логика Observable-актора¶
Вы можете определить логику Observable-актора с помощью создателя логики актора fromObservable(...), который принимает функцию, возвращающую observable, и возвращает логику актора, которую можно использовать для создания Observable-акторов.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Входные данные Observable-актора¶
Вы можете передать input Observable-актору, передав его в функцию createActor(...) как свойство input второго аргумента. В логике observable (fromObservable(observableFn)) вы читаете свойство input первого аргумента, переданного в функцию observable:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |