fix(zone.js): fix zone for Jasmine 3.3. (#31497)
If zonejs is sent undefined callbacks it proceeds to attempt to call them, then fails, catches it own fail, rewrites the stack to hide the mistake, and reports a TypeError with a callstack unrelated to inputs. Throw early if the callback is undefined (as can happen if JS or any-ified TS calls zone invokeTask). Check for undefined onCommplete callback to zonejs jasmine wrapper. PR Close #31497
This commit is contained in:
@ -1217,6 +1217,9 @@ const Zone: ZoneType = (function(global: any) {
|
||||
this.data = options;
|
||||
this.scheduleFn = scheduleFn;
|
||||
this.cancelFn = cancelFn;
|
||||
if (!callback) {
|
||||
throw new Error('callback is not defined');
|
||||
}
|
||||
this.callback = callback;
|
||||
const self = this;
|
||||
// TODO: @JiaLiPassion options should have interface
|
||||
|
Reference in New Issue
Block a user