| 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);
|
| }
|
|
|