fix(zone.js): tickOptions's processNewMacroTasksSynchronously should default to true when flag omitted (#35814)

Calling `tick(0, null)` defaults `processNewMacroTasksSynchronously` flag to `true`, however calling  `tick(0, null, {})` defaults `processNewMacroTasksSynchronously` to `undefined`. This is undesirable behavior since unless the flag is set explicitly it should still default to `true`.

PR Close #35814
This commit is contained in:
JiaLiPassion
2020-03-03 11:00:21 +09:00
committed by Matias Niemelä
parent 958165888c
commit 55b3f97be0
2 changed files with 17 additions and 2 deletions

View File

@ -136,11 +136,12 @@
}
}
tick(millis: number = 0, doTick?: (elapsed: number) => void, tickOptions: {
tick(millis: number = 0, doTick?: (elapsed: number) => void, tickOptions?: {
processNewMacroTasksSynchronously: boolean
} = {processNewMacroTasksSynchronously: true}): void {
}): void {
let finalTime = this._currentTime + millis;
let lastCurrentTime = 0;
tickOptions = Object.assign({processNewMacroTasksSynchronously: true}, tickOptions);
// we need to copy the schedulerQueue so nested timeout
// will not be wrongly called in the current tick
// https://github.com/angular/angular/issues/33799