Runs a continuation when a task completes successfully, forwarding along errors or cancellation.
(
final Continuation<TResult, Task<TContinuationResult>> continuation, Executor executor)
| 430 | * cancellation. |
| 431 | */ |
| 432 | public <TContinuationResult> Task<TContinuationResult> onSuccessTask( |
| 433 | final Continuation<TResult, Task<TContinuationResult>> continuation, Executor executor) { |
| 434 | return continueWithTask(new Continuation<TResult, Task<TContinuationResult>>() { |
| 435 | public Task<TContinuationResult> then(Task<TResult> task) { |
| 436 | if (task.isFaulted()) { |
| 437 | return Task.<TContinuationResult> forError(task.getError()); |
| 438 | } else if (task.isCancelled()) { |
| 439 | return Task.<TContinuationResult> cancelled(); |
| 440 | } else { |
| 441 | return task.continueWithTask(continuation); |
| 442 | } |
| 443 | } |
| 444 | }, executor); |
| 445 | } |
| 446 | |
| 447 | /** |
| 448 | * Runs a continuation when a task completes successfully, forwarding along errors or |