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
|
||||
*/
|
||||
export function scheduleMicroTask(cb: () => any) {
|
||||
// FIXME
|
||||
setTimeout(cb, 0);
|
||||
Promise.resolve(null).then(cb);
|
||||
}
|
||||
|
|
|
@ -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…
Reference in New Issue