public TNewResult AndThenTo <TNewResult>(TimeSpan timeout, TNewResult failedOutcomeValue, Func <TResult, TNewResult> function) { var parent = Parent ?? this; var continuationCompletes = new AndThenScheduledContinuation <TResult, TNewResult>(parent, this, timeout, Optional.Of(failedOutcomeValue), function); parent.AndThenInternal(continuationCompletes); return(default !);
public ICompletes <TNewResult> AndThen <TNewResult>(TimeSpan timeout, Func <TResult, TNewResult> function) { var parent = Parent ?? this; var scheduledContinuation = new AndThenScheduledContinuation <TResult, TNewResult>(parent, this, timeout, function); parent.AndThenInternal(scheduledContinuation); return(scheduledContinuation); }
public ICompletes <TResult> AndThenConsume(TimeSpan timeout, Action <TResult> consumer) { var parent = Parent ?? this; var continuationCompletes = new AndThenScheduledContinuation <TResult, TResult>(parent, this, timeout, consumer); parent.AndThenInternal(continuationCompletes); return(continuationCompletes); }