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.utils.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 /// |
(...skipping 11 matching lines...) Expand all Loading... |
22 _completer.complete(result); | 22 _completer.complete(result); |
23 }).catchError((error, stackTrace) { | 23 }).catchError((error, stackTrace) { |
24 if (_canceled) return; | 24 if (_canceled) return; |
25 _completer.completeError(error, stackTrace); | 25 _completer.completeError(error, stackTrace); |
26 }); | 26 }); |
27 } | 27 } |
28 | 28 |
29 Stream<T> asStream() => _completer.future.asStream(); | 29 Stream<T> asStream() => _completer.future.asStream(); |
30 Future<T> catchError(Function onError, {bool test(Object error)}) => | 30 Future<T> catchError(Function onError, {bool test(Object error)}) => |
31 _completer.future.catchError(onError, test: test); | 31 _completer.future.catchError(onError, test: test); |
32 Future/*<S>*/ then/*<S>*/(/*=FutureOr<S>*/ onValue(T value), | 32 Future<S> then<S>(FutureOr<S> onValue(T value), {Function onError}) => |
33 {Function onError}) => | |
34 _completer.future.then(onValue, onError: onError); | 33 _completer.future.then(onValue, onError: onError); |
35 Future<T> whenComplete(action()) => _completer.future.whenComplete(action); | 34 Future<T> whenComplete(action()) => _completer.future.whenComplete(action); |
36 Future<T> timeout(Duration timeLimit, {void onTimeout()}) => | 35 Future<T> timeout(Duration timeLimit, {void onTimeout()}) => |
37 _completer.future.timeout(timeLimit, onTimeout: onTimeout); | 36 _completer.future.timeout(timeLimit, onTimeout: onTimeout); |
38 | 37 |
39 /// Cancels this future. | 38 /// Cancels this future. |
40 void cancel() { | 39 void cancel() { |
41 _canceled = true; | 40 _canceled = true; |
42 } | 41 } |
43 } | 42 } |
OLD | NEW |