-
Notifications
You must be signed in to change notification settings - Fork 8
createWithCancelable
Creates a custom observable sequence that uses a cancelable resource
static function createWithCancelable(subscribeFunc : Function) : IObservable.<*>
Where subscribeFunc is function (observer : IObserver) : ICancelable
When the sequence is subscribed to, subscribeFunc will be called with the observer being subscribed to. The function may call any combination of onNext, onComplete and onError at any point (even asynchronously). However, out of order calls (eg. onComplete → onNext) will be ignored.
When the sequence completes, errors or is unsubscribed from, the ICancelable returned by subscribeFunc will be canceled.
If subscribeFunc returns null, an ArgumentError will be thrown. If there is no functionality to cleanup, return Cancelable.empty.
The sequence completes when subscribeFunc calls onCompleted on the IObservable passed to it
The sequence errors when subscribeFunc calls onError on the IObservable passed to it
IObservable.<*>
var source : IObservable = Observable.createWithCancelable(
function(observer : IObserver) : ICancelable
{
var scheduler : IScheduler = Scheduler.asynchronous;
var value : int = 0;
return Scheduler.scheduleRecursive(scheduler, function(recurse : Function) : void
{
observer.onNext(value);
value++;
});
});
source.subscribe(
function(value : int) : void { trace(value; },
function() : void { trace("Completed!"); }
);
// Trace output:
// 0
// 1
// 2
// 3
// ... (until canceled)