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

Issue 11824032: Make a Future returned by the action of Future.whenCompelete delay. (Closed)

Created:
7 years, 11 months ago by Lasse Reichstein Nielsen
Modified:
7 years, 11 months ago
Reviewers:
floitsch
CC:
reviews_dartlang.org
Visibility:
Public.

Description

Make a Future returned by the action of Future.whenCompelete delay. BUG=dartbug.com/7790 Committed: https://code.google.com/p/dart/source/detail?r=16901

Patch Set 1 #

Total comments: 12

Patch Set 2 : Address review comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+143 lines, -8 lines) Patch
M sdk/lib/async/future.dart View 1 1 chunk +10 lines, -4 lines 0 comments Download
M sdk/lib/async/future_impl.dart View 1 4 chunks +24 lines, -4 lines 0 comments Download
M tests/lib/async/future_test.dart View 2 chunks +109 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
Lasse Reichstein Nielsen
7 years, 11 months ago (2013-01-09 17:02:35 UTC) #1
floitsch
LGTM! https://codereview.chromium.org/11824032/diff/1/sdk/lib/async/future.dart File sdk/lib/async/future.dart (right): https://codereview.chromium.org/11824032/diff/1/sdk/lib/async/future.dart#newcode108 sdk/lib/async/future.dart:108: * [:null:] (or any non-future value), its return ...
7 years, 11 months ago (2013-01-09 17:10:13 UTC) #2
Lasse Reichstein Nielsen
7 years, 11 months ago (2013-01-10 07:02:32 UTC) #3
https://codereview.chromium.org/11824032/diff/1/sdk/lib/async/future.dart
File sdk/lib/async/future.dart (right):

https://codereview.chromium.org/11824032/diff/1/sdk/lib/async/future.dart#new...
sdk/lib/async/future.dart:108: * [:null:] (or any non-future value), its return
value is ignored.
On 2013/01/09 17:10:13, floitsch wrote:
> If the [action] does not return a future its return value is ignored.

Done.

https://codereview.chromium.org/11824032/diff/1/sdk/lib/async/future.dart#new...
sdk/lib/async/future.dart:113: * If the call to [action] returns a [Future],
[:f2:], then completion  of
On 2013/01/09 17:10:13, floitsch wrote:
> nit: spurious space between "completion" and "of"

Done.

https://codereview.chromium.org/11824032/diff/1/sdk/lib/async/future.dart#new...
sdk/lib/async/future.dart:114: * [:f:] is delayed until [:f2:] completes. If
[:f2:] completes with a
On 2013/01/09 17:10:13, floitsch wrote:
> completes with an (remove "a").

Done.

https://codereview.chromium.org/11824032/diff/1/sdk/lib/async/future.dart#new...
sdk/lib/async/future.dart:117: Future<T> whenComplete(Future action());
Ack. The old "returning null implicitly isn't good enough". :(

There is no good way to say "return Future or nothing".

https://codereview.chromium.org/11824032/diff/1/sdk/lib/async/future_impl.dart
File sdk/lib/async/future_impl.dart (right):

https://codereview.chromium.org/11824032/diff/1/sdk/lib/async/future_impl.dar...
sdk/lib/async/future_impl.dart:423: _setValue(value);P
;-P
Removed.

https://codereview.chromium.org/11824032/diff/1/sdk/lib/async/future_impl.dar...
sdk/lib/async/future_impl.dart:477: Future whenComplete(Future action()) {
On 2013/01/09 17:10:13, floitsch wrote:
> remove type completely.

Done.

Powered by Google App Engine
This is Rietveld 408576698