Skip to content

,System.Func{--0,System.Boolean})} ,System.Func{--0,System.Boolean},System.Threading.CancellationToken)} )} ,System.Threading.CancellationToken)}

ObservableAsync.SingleAsync(IObservableAsync, Func) method

Defined in

Type: ObservableAsync Namespace: ReactiveUI.Extensions.Async Assembly: ReactiveUI.Extensions.dll

Applies to

net10.0, net10.0-browserwasm1.0, net10.0-desktop1.0, net9.0, net9.0-browserwasm1.0, net9.0-desktop1.0, net8.0, net8.0-ios17.5, net8.0-maccatalyst17.5, net8.0-macos14.2, net8.0-macos14.5, net8.0-tvos17.2, netstandard2.1, net462, net481

Overloads

  • 1. public static ValueTask<T> SingleAsync<T>(this IObservableAsync<T> @this, Func<T, bool> predicate)
  • 2. public static ValueTask<T> SingleAsync<T>(this IObservableAsync<T> @this, Func<T, bool> predicate, CancellationToken cancellationToken)
  • 3. public static ValueTask<T> SingleAsync<T>(this IObservableAsync<T> @this)
  • 4. public static ValueTask<T> SingleAsync<T>(this IObservableAsync<T> @this, CancellationToken cancellationToken)

1. Overload

public static ValueTask<T> SingleAsync<T>(this IObservableAsync<T> @this, Func<T, bool> predicate)

View source

Summary: Asynchronously returns the single element of a sequence that satisfies a specified condition, or throws an exception if more than one such element exists.

Type parameters

NameDescription
TThe type of elements in the source sequence.

Parameters

NameTypeDescription
this[IObservableAsync](#The source observable sequence.
predicateFuncA function to test each element for a condition. The method returns the element for which this predicate returns true.

Returns: ValueTask -- A task that represents the asynchronous operation. The task result contains the single element that matches the predicate.

Remarks

If no element satisfies the condition, or if more than one element satisfies the condition, an exception is thrown. Use this method when exactly one element is expected to match the predicate.

2. Overload

public static ValueTask<T> SingleAsync<T>(this IObservableAsync<T> @this, Func<T, bool> predicate, CancellationToken cancellationToken)

View source

Summary: Asynchronously returns the single element of a sequence that satisfies a specified condition, or throws an exception if more than one such element exists.

Type parameters

NameDescription
TThe type of elements in the source sequence.

Parameters

NameTypeDescription
this[IObservableAsync](#The source observable sequence.
predicateFuncA function to test each element for a condition. The method returns the element for which this predicate returns true.
cancellationTokenCancellationTokenA cancellation token that can be used to cancel the asynchronous operation.

Returns: ValueTask -- A task that represents the asynchronous operation. The task result contains the single element that matches the predicate.

Remarks

If no element satisfies the condition, or if more than one element satisfies the condition, an exception is thrown. Use this method when exactly one element is expected to match the predicate.

3. Overload

public static ValueTask<T> SingleAsync<T>(this IObservableAsync<T> @this)

View source

Summary: Asynchronously returns the single element of the sequence, and throws an exception if the sequence does not contain exactly one element.

Type parameters

NameDescription
TThe type of elements in the source sequence.

Parameters

NameTypeDescription
this[IObservableAsync](#The source observable sequence.

Returns: ValueTask -- A task that represents the asynchronous operation. The task result contains the single element of the sequence.

Remarks

Use this method when you expect the sequence to contain exactly one element. If the sequence is empty or contains more than one element, an exception is thrown.

4. Overload

public static ValueTask<T> SingleAsync<T>(this IObservableAsync<T> @this, CancellationToken cancellationToken)

View source

Summary: Asynchronously returns the single element of the sequence, and throws an exception if the sequence does not contain exactly one element.

Type parameters

NameDescription
TThe type of elements in the source sequence.

Parameters

NameTypeDescription
this[IObservableAsync](#The source observable sequence.
cancellationTokenCancellationTokenA cancellation token that can be used to cancel the asynchronous operation.

Returns: ValueTask -- A task that represents the asynchronous operation. The task result contains the single element of the sequence.

Remarks

Use this method when you expect the sequence to contain exactly one element. If the sequence is empty or contains more than one element, an exception is thrown.