fix(animations): microtasks should not be timeouts (#14687)

This commit is contained in:
Matias Niemelä 2017-02-23 21:23:57 -08:00 committed by Igor Minar
parent 01907bafb0
commit be8510356a
2 changed files with 25 additions and 2 deletions

View File

@ -6,6 +6,5 @@
* found in the LICENSE file at https://angular.io/license
*/
export function scheduleMicroTask(cb: () => any) {
// FIXME
setTimeout(cb, 0);
Promise.resolve(null).then(cb);
}

View File

@ -0,0 +1,24 @@
/**
* @license
* Copyright Google Inc. All Rights Reserved.
*
* Use of this source code is governed by an MIT-style license that can be
* found in the LICENSE file at https://angular.io/license
*/
import {scheduleMicroTask} from '../src/util';
export function main() {
describe('util', () => {
it('should schedule a microtask and not call an async timeout', (done) => {
let count = 0;
scheduleMicroTask(() => count++);
expect(count).toEqual(0);
Promise.resolve(null).then(() => {
expect(count).toEqual(1);
done();
});
expect(count).toEqual(0);
});
});
}