【Angular】상속 클래스의 async 메소드로 부모 클래스의 메소드를 호출하려고 하면 무한 루프한다. . .
                                            
                                                
                                                
                                                
                                                
                                                
                                                 5875 단어  AngularedgeTypeScriptasync
                    
현상
상속 클래스에서, 부모 클래스의 메소드를 오버라이드(override) 하면 무한 루프 하게 되었다.
 테스트 코드
app.service.ts
import { Injectable } from '@angular/core';
@Injectable()
export class AppService {
    constructor() {}
    async test() {
        console.log('parent');
    }
}
app-ex.service.ts
import { Injectable } from '@angular/core';
import { AppService } from './app.service';
@Injectable()
export class AppExService extends AppService {
    constructor() {
        super();
    }
    async test() {
        console.log('child')
        super.test();
    }
}
app.component.ts
import { Component, OnInit } from '@angular/core';
import { AppExService } from './app-ex.service';
@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  title = 'extends-test';
  constructor(private service: AppExService) {
  }
  ngOnInit() {
      // 子クラスのメソッド呼び出し
      this.service.test();
  }
}
방문해보기
 Chrome의 경우

Edge의 경우
로그를 보는 한은, 자신을 재귀 호출하고 있는 것 같다. . .

super의 참조가 this로 바뀌고 있는 것일까. . .
누군가의 해결 방법을 가르쳐 주었으면 좋겠다 ('Д`)
우선, 오버라이드(override)한 메소드가 아니면 부모 클래스의 메소드 부를 것 같기 때문에, 그래서 회피하기로 합니다. . .
Reference
이 문제에 관하여(【Angular】상속 클래스의 async 메소드로 부모 클래스의 메소드를 호출하려고 하면 무한 루프한다. . .), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/teracy164/items/1ec9437d7c05b815af30텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
                                
                                
                                
                                
                                
                                우수한 개발자 콘텐츠 발견에 전념
                                (Collection and Share based on the CC Protocol.)