Skip to content
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.