Index: packages/async/lib/src/result/future.dart |
diff --git a/packages/async/lib/src/result_future.dart b/packages/async/lib/src/result/future.dart |
similarity index 75% |
rename from packages/async/lib/src/result_future.dart |
rename to packages/async/lib/src/result/future.dart |
index 311e83fece833242de36dd3bfad4c473c8c3c929..749b101f0678210e1c5316d1cf0b405549741858 100644 |
--- a/packages/async/lib/src/result_future.dart |
+++ b/packages/async/lib/src/result/future.dart |
@@ -2,12 +2,10 @@ |
// for details. All rights reserved. Use of this source code is governed by a |
// BSD-style license that can be found in the LICENSE file. |
-library async.result_future; |
- |
import 'dart:async'; |
+import '../delegate/future.dart'; |
import '../result.dart'; |
-import 'delegate/future.dart'; |
/// A [Future] wrapper that provides synchronous access to the result of the |
/// wrapped [Future] once it's completed. |
@@ -22,14 +20,14 @@ class ResultFuture<T> extends DelegatingFuture<T> { |
Result<T> _result; |
factory ResultFuture(Future<T> future) { |
- var resultFuture; |
- resultFuture = new ResultFuture._(Result.capture(future).then((result) { |
+ ResultFuture<T> resultFuture; |
+ resultFuture = new ResultFuture._(() async { |
+ var result = await Result.capture(future); |
resultFuture._result = result; |
- return result.asFuture; |
- })); |
+ return await result.asFuture; |
+ }()); |
return resultFuture; |
} |
- ResultFuture._(Future<T> future) |
- : super(future); |
+ ResultFuture._(Future<T> future) : super(future); |
} |