-
Notifications
You must be signed in to change notification settings - Fork 8
Changes from Rx
richardszalay edited this page May 20, 2011
·
5 revisions
Due to differences in naming convensions and language symantics, there are a number of differences between Rx and raix.reactive.
One of the main differences in the API is caused by the lack of generics supports in AS3, resulting in no type guarantee on the values emitted by a sequence.
Below are a list of operators that are different in raix.reactive:
Rx | raix.reactive | Reason |
---|---|---|
Throw | error | throw is a reserved keyword in ActionScript |
Return (single value) | value | return is a reserved keyword in ActionScript |
Return (multiple values) | fromArray | return is a reserved keyword in ActionScript |
Case | lookup | case is a reserved keyword in ActionScript |
Disposable | Cancelable | There is no built-in resource management interface and “cancel” sounds more natural |
CreateWithDisposable | createWithCancelable | See Disposable |
If | ifElse | if is a reserved keyword in ActionScript |
FromEvent | fromEvent | Signature is different because events work differently |
Catch(second : IObservable) | catchError | catch is a reserved keyword in ActionScript |
Catch(Func<Exception,IObservable>) | catchErrorDefer | catch is a reserved keyword; overloads are not supported |
Catch (static) | catchErrors | catch is a reserved keyword and catchError did not make sense |
Subscribe(IObserver) | subscribeWith | Overloads are not supported |
Subscribe(Action, Action, Action) | subscribe | Overloads are not supported |
Finally | finallyAction | finally is a reserved keyword |
Do | peek | do is a reserved keyword |
Prune(Func<IObservable, IObservable>) | pruneAndConnect | Overloads are not supported |
Publish(Func<IObservable, IObservable>) | publishAndConnect | Overloads are not supported |
Replay(Func<IObservable, IObservable>, …) | replayAndConnect | Overloads are not supported |
Zip | zip | Completes when either left or right completes and there are no future logical combinations that can be made. Rx.NET doesn’t do this due to a potential race condition that doesn’t affect the single-threaded AVM. |