Skip to content

AsyncObservableExtensions.SubscribeAsync(IAsyncObservable<T>, Func<T, StreamSequenceToken, Task>, Func<Exception, Task>, StreamSequenceToken)

SubscribeAsync(IAsyncObservable<T>, Func<T, StreamSequenceToken, Task>, Func<Exception, Task>, StreamSequenceToken)

staticextension
View source
public static Task<StreamSubscriptionHandle<T>> SubscribeAsync<T>(this IAsyncObservable<T> obs, Func<T, StreamSequenceToken, Task> onNextAsync, Func<Exception, Task> onErrorAsync, StreamSequenceToken token)
Subscribe a consumer to this observable using delegates. This method is a helper for the IAsyncObservable.SubscribeAsync allowing the subscribing class to inline the handler methods instead of requiring an instance of IAsyncObserver.

Parameters

obsIAsyncObservable<T>
The Observable object.
onNextAsyncFunc<T, StreamSequenceToken, Task>
Delegate that is called for IAsyncObserver.OnNextAsync.
onErrorAsyncFunc<Exception, Task>
Delegate that is called for IAsyncObserver.OnErrorAsync.
tokenStreamSequenceToken
The stream sequence to be used as an offset to start the subscription from.

Returns

A promise for a StreamSubscriptionHandle that represents the subscription. The consumer may unsubscribe by using this handle. The subscription remains active for as long as it is not explicitly unsubscribed.

Exceptions

System.ArgumentException
Thrown if the supplied stream filter function is not suitable. Usually this is because it is not a static method.