Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(538)

Side by Side Diff: pkg/barback/lib/src/cancelable_future.dart

Issue 21004014: Fix cancelable_future again. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: More library tags. Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | pkg/barback/test/transformer/bad.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 import 'dart:async'; 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
3 // BSD-style license that can be found in the LICENSE file.
2 4
3 library barback.cancelable_future; 5 library barback.cancelable_future;
4 6
7 import 'dart:async';
8
5 /// A wrapper for [Future] that can be cancelled. 9 /// A wrapper for [Future] that can be cancelled.
6 /// 10 ///
7 /// 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
8 /// with an error, regardless of whether the wrapped Future completes. 12 /// with an error, regardless of whether the wrapped Future completes.
9 /// 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
10 /// running. 14 /// running.
11 class CancelableFuture<T> implements Future<T> { 15 class CancelableFuture<T> implements Future<T> {
12 bool _canceled = false; 16 bool _canceled = false;
13 final _completer = new Completer<T>(); 17 final _completer = new Completer<T>();
14 18
(...skipping 12 matching lines...) Expand all
27 _completer.future.catchError(onError, test: test); 31 _completer.future.catchError(onError, test: test);
28 Future then(onValue(T value), {onError(error)}) => 32 Future then(onValue(T value), {onError(error)}) =>
29 _completer.future.then(onValue, onError: onError); 33 _completer.future.then(onValue, onError: onError);
30 Future<T> whenComplete(action()) => _completer.future.whenComplete(action); 34 Future<T> whenComplete(action()) => _completer.future.whenComplete(action);
31 35
32 /// Cancels this future. 36 /// Cancels this future.
33 void cancel() { 37 void cancel() {
34 _canceled = true; 38 _canceled = true;
35 } 39 }
36 } 40 }
OLDNEW
« no previous file with comments | « no previous file | pkg/barback/test/transformer/bad.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698