OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 library barback.utils.cancelable_future; | 5 library barback.cancelable_future; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 | 8 |
9 /// A wrapper for [Future] that can be cancelled. | 9 /// A wrapper for [Future] that can be cancelled. |
10 /// | 10 /// |
11 /// When this is cancelled, that means it won't complete either successfully or | 11 /// When this is cancelled, that means it won't complete either successfully or |
12 /// with an error, regardless of whether the wrapped Future completes. | 12 /// with an error, regardless of whether the wrapped Future completes. |
13 /// Cancelling this won't stop whatever code is feeding the wrapped future from | 13 /// Cancelling this won't stop whatever code is feeding the wrapped future from |
14 /// running. | 14 /// running. |
15 class CancelableFuture<T> implements Future<T> { | 15 class CancelableFuture<T> implements Future<T> { |
(...skipping 16 matching lines...) Expand all Loading... |
32 Future then(onValue(T value), {Function onError}) => | 32 Future then(onValue(T value), {Function onError}) => |
33 _completer.future.then(onValue, onError: onError); | 33 _completer.future.then(onValue, onError: onError); |
34 Future<T> whenComplete(action()) => _completer.future.whenComplete(action); | 34 Future<T> whenComplete(action()) => _completer.future.whenComplete(action); |
35 Future timeout(Duration timeLimit, {void onTimeout()}) => | 35 Future timeout(Duration timeLimit, {void onTimeout()}) => |
36 _completer.future.timeout(timeLimit, onTimeout: onTimeout); | 36 _completer.future.timeout(timeLimit, onTimeout: onTimeout); |
37 /// Cancels this future. | 37 /// Cancels this future. |
38 void cancel() { | 38 void cancel() { |
39 _canceled = true; | 39 _canceled = true; |
40 } | 40 } |
41 } | 41 } |
OLD | NEW |