fix(animations): microtasks should not be timeouts (#14687)
This commit is contained in:
parent
01907bafb0
commit
be8510356a
@ -6,6 +6,5 @@
|
|||||||
* found in the LICENSE file at https://angular.io/license
|
* found in the LICENSE file at https://angular.io/license
|
||||||
*/
|
*/
|
||||||
export function scheduleMicroTask(cb: () => any) {
|
export function scheduleMicroTask(cb: () => any) {
|
||||||
// FIXME
|
Promise.resolve(null).then(cb);
|
||||||
setTimeout(cb, 0);
|
|
||||||
}
|
}
|
||||||
|
24
modules/@angular/animations/test/util_spec.ts
Normal file
24
modules/@angular/animations/test/util_spec.ts
Normal 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);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user