MCPcopy Create free account
hub / github.com/angular/angular / cancelTask

Method cancelTask

packages/zone.js/lib/zone-impl.ts:1053–1080  ·  view source on GitHub ↗
(task: Task)

Source from the content-addressed store, hash-verified

1051 }
1052
1053 cancelTask(task: Task): any {
1054 if (task.zone != this)
1055 throw new Error(
1056 'A task can only be cancelled in the zone of creation! (Creation: ' +
1057 (task.zone || NO_ZONE).name +
1058 '; Execution: ' +
1059 this.name +
1060 ')',
1061 );
1062
1063 if (task.state !== scheduled && task.state !== running) {
1064 return;
1065 }
1066
1067 (task as ZoneTask<any>)._transitionTo(canceling, scheduled, running);
1068 try {
1069 this._zoneDelegate.cancelTask(this, task);
1070 } catch (err) {
1071 // if error occurs when cancelTask, transit the state to unknown
1072 (task as ZoneTask<any>)._transitionTo(unknown, canceling);
1073 this._zoneDelegate.handleError(this, err);
1074 throw err;
1075 }
1076 this._updateTaskCount(task as ZoneTask<any>, -1);
1077 (task as ZoneTask<any>)._transitionTo(notScheduled, canceling);
1078 task.runCount = -1;
1079 return task;
1080 }
1081
1082 private _updateTaskCount(task: ZoneTask<any>, count: number) {
1083 const zoneDelegates = task._zoneDelegates!;

Callers

nothing calls this directly

Calls 4

_updateTaskCountMethod · 0.95
_transitionToMethod · 0.80
cancelTaskMethod · 0.65
handleErrorMethod · 0.65

Tested by

no test coverage detected