Skip to content

Commit b142283

Browse files
JiaLiPassionmhevery
authored andcommitted
fix(core): unify the signature between ngZone and noopZone (angular#37581)
Now we have two implementations of Zone in Angular, one is NgZone, the other is NoopZone. They should have the same signatures, includes 1. properties 2. methods In this PR, unify the signatures of the two implementations, and remove the unnecessary cast. PR Close angular#37581
1 parent e79b6c3 commit b142283

File tree

2 files changed

+10
-10
lines changed

2 files changed

+10
-10
lines changed

packages/core/src/zone/ng_zone.ts

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -177,7 +177,7 @@ export class NgZone {
177177
* If a synchronous error happens it will be rethrown and not reported via `onError`.
178178
*/
179179
run<T>(fn: (...args: any[]) => T, applyThis?: any, applyArgs?: any[]): T {
180-
return (this as any as NgZonePrivate)._inner.run(fn, applyThis, applyArgs) as T;
180+
return (this as any as NgZonePrivate)._inner.run(fn, applyThis, applyArgs);
181181
}
182182

183183
/**
@@ -196,7 +196,7 @@ export class NgZone {
196196
const zone = (this as any as NgZonePrivate)._inner;
197197
const task = zone.scheduleEventTask('NgZoneEvent: ' + name, fn, EMPTY_PAYLOAD, noop, noop);
198198
try {
199-
return zone.runTask(task, applyThis, applyArgs) as T;
199+
return zone.runTask(task, applyThis, applyArgs);
200200
} finally {
201201
zone.cancelTask(task);
202202
}
@@ -207,7 +207,7 @@ export class NgZone {
207207
* rethrown.
208208
*/
209209
runGuarded<T>(fn: (...args: any[]) => T, applyThis?: any, applyArgs?: any[]): T {
210-
return (this as any as NgZonePrivate)._inner.runGuarded(fn, applyThis, applyArgs) as T;
210+
return (this as any as NgZonePrivate)._inner.runGuarded(fn, applyThis, applyArgs);
211211
}
212212

213213
/**
@@ -224,7 +224,7 @@ export class NgZone {
224224
* Use {@link #run} to reenter the Angular zone and do work that updates the application model.
225225
*/
226226
runOutsideAngular<T>(fn: (...args: any[]) => T): T {
227-
return (this as any as NgZonePrivate)._outer.run(fn) as T;
227+
return (this as any as NgZonePrivate)._outer.run(fn);
228228
}
229229
}
230230

@@ -388,19 +388,19 @@ export class NoopNgZone implements NgZone {
388388
readonly onStable: EventEmitter<any> = new EventEmitter();
389389
readonly onError: EventEmitter<any> = new EventEmitter();
390390

391-
run(fn: (...args: any[]) => any, applyThis?: any, applyArgs?: any): any {
391+
run<T>(fn: (...args: any[]) => T, applyThis?: any, applyArgs?: any): T {
392392
return fn.apply(applyThis, applyArgs);
393393
}
394394

395-
runGuarded(fn: (...args: any[]) => any, applyThis?: any, applyArgs?: any): any {
395+
runGuarded<T>(fn: (...args: any[]) => any, applyThis?: any, applyArgs?: any): T {
396396
return fn.apply(applyThis, applyArgs);
397397
}
398398

399-
runOutsideAngular(fn: (...args: any[]) => any): any {
399+
runOutsideAngular<T>(fn: (...args: any[]) => T): T {
400400
return fn();
401401
}
402402

403-
runTask(fn: (...args: any[]) => any, applyThis?: any, applyArgs?: any, name?: string): any {
403+
runTask<T>(fn: (...args: any[]) => T, applyThis?: any, applyArgs?: any, name?: string): T {
404404
return fn.apply(applyThis, applyArgs);
405405
}
406406
}

packages/zone.js/lib/zone.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -223,9 +223,9 @@ interface Zone {
223223
* @param task to run
224224
* @param applyThis
225225
* @param applyArgs
226-
* @returns {*}
226+
* @returns {any} Value from the `task.callback` function.
227227
*/
228-
runTask(task: Task, applyThis?: any, applyArgs?: any): any;
228+
runTask<T>(task: Task, applyThis?: any, applyArgs?: any): T;
229229

230230
/**
231231
* Schedule a MicroTask.

0 commit comments

Comments
 (0)