Class ResultBindExtensions

Namespace
REslava.Result.Extensions
Assembly
REslava.Result.dll

Extension methods for binding operations on Result types.

public static class ResultBindExtensions
Inheritance
ResultBindExtensions
Inherited Members

Methods

BindAsync<T, U>(Task<Result<T>>, Func<T, Task<Result<U>>>, CancellationToken)

Chains async operations on Task<Result<T>>.

public static Task<Result<U>> BindAsync<T, U>(this Task<Result<T>> resultTask, Func<T, Task<Result<U>>> binder, CancellationToken cancellationToken = default)

Parameters

resultTask Task<Result<T>>

The task containing the result to bind.

binder Func<T, Task<Result<U>>>

The function that returns a new result.

cancellationToken CancellationToken

Optional cancellation token.

Returns

Task<Result<U>>

A task containing the bound result.

Type Parameters

T

The source value type.

U

The target value type.

Examples

var result = await GetUserAsync(userId)
    .BindAsync(user => SaveUserAsync(user));