RxJS familiarities and differences
Some differences to RxJS and the motivation behind creation of this library.
In comparison to RxJS, Hullo looses schedulers, but gains pressure control.
In RxJS you can pace messages by attaching an alternative scheduler to a subject. Hullo approach is to have a subscriber posting it's readiness to receive new message - every subscriber can do that independently. That caused a slight change in interface:
Subscriber
'snext
andcomplete
can return either nothing or aPromise
of successful processing received messageObserver
'snext
andcomplete
return aPromise
of successful processing delivered message
You probably noticed
error
is missing from next
and complete
functions set. That's not a mistake. Due to additional challenges in typing and keeping focus on resolving failures state resulted in a general design direction of Hullo, were error's should be treated as such only in critical cases like edge communications parsing errors / environmental failures. Such situations should result in a fast and complete failure of entire program, so there's no decision, no interaction made in erroneous state. In other cases, controllable failures should be communicated as messages and handled as soon as possible.Last modified 3yr ago