| Index: pkg/dev_compiler/lib/js/es6/dart_sdk.js
|
| diff --git a/pkg/dev_compiler/lib/js/es6/dart_sdk.js b/pkg/dev_compiler/lib/js/es6/dart_sdk.js
|
| index 5f47f0bd058f4184f61ccafb151dc4fa250ba648..69f6bdaf152affabf4f78f1e1c96645b1f1bf5e8 100644
|
| --- a/pkg/dev_compiler/lib/js/es6/dart_sdk.js
|
| +++ b/pkg/dev_compiler/lib/js/es6/dart_sdk.js
|
| @@ -1862,11 +1862,12 @@ dart.async = function(gen, T, ...args) {
|
| if (ret.done) return ret.value;
|
| let future = ret.value;
|
| if (!dart.is(future, dart.getGenericClass(async.Future))) {
|
| - future = async.Future.value(future);
|
| + var result = future;
|
| + future = async.Future.microtask(() => result);
|
| }
|
| return future.then(dart.dynamic)(onValue, {onError: onError});
|
| }
|
| - return dart.getGenericClass(async.Future)(T).new(function() {
|
| + return dart.getGenericClass(async.Future)(T).microtask(function() {
|
| iter = gen.apply(null, args)[Symbol.iterator]();
|
| return onValue();
|
| });
|
|
|