angular - Hur kör man async-funktion utanför ngZone?
Jag har försökt att köra skript utanför nuvarande zon:
async ngAfterViewInit(): Promise<void> {
this.ngZone.runOutsideAngular(() => {
await this.run();
});
}
async run() { // TODO }
Jag får det här felet:
'await' expressions are only allowed within async functions and at the top levels of modules.ts
Svar #1
Funktionen ngAfterViewInit är asynkron, men sedan har du använt this.ngZone.runOutsideAngular med en icke-asynkron återanropsfunktion.
Din kod behöver se ut så här...
ngAfterViewInit(): void {
this.ngZone.runOutsideAngular(async () => {
await this.run();
});
}
async run() { // TODO }
