next<R> method
Implementation
@Deprecated("use thenNext instead")
Cancelable<R> next<R>({
FutureOr<R> Function(O value)? onValue,
FutureOr<R> Function(Object error)? onError,
}) {
final resultCompleter = Completer<R>();
_completer.future.then((value) {
try {
_completeValue(
completer: resultCompleter,
value: onValue?.call(value),
);
} catch (error) {
_completeError(
completer: resultCompleter,
onError: onError,
e: error,
);
}
}, onError: (Object e) {
if (e is! CanceledError) {
_completeError(
completer: resultCompleter,
onError: onError,
e: e,
);
}
});
return Cancelable(
resultCompleter,
onCancel: () {
_onCancel?.call();
_completeError(
completer: resultCompleter,
e: CanceledError(),
onError: onError,
);
},
onPause: _onPause,
onResume: _onResume,
);
}