Programming/Angular

AngularJS :: Subscribe Arguments 경고 해결

고고마코드 2022. 6. 16. 20:00
반응형

Observable subscribe 를 사용할 때 아래와 같은 경고를 만났습니다.

@deprecated — Instead of passing separate callback arguments, use an observer argument.  
Signatures taking separate callback arguments will be removed in v8.

**해당 경고의 원인과 해결 방법을 기록합니다.**

경고 & 원인

예제1

of([1, 2, 3]).subscribe(
    v => console.log(v),
    e => console.error(e),
    () => console.log('complete')
);

subscribe 부분에서 경고가 발생하는데, 이유는 직접적인 인수 입력을 통해 읽기 쉽고 확실한 코드를 만들라는 뜻입니다.

예제2

of([1, 2, 3]).subscribe(
    null, null, () => console.log('1')
);

예제2 역시 경고가 발생하는 코드입니다.

직접적인 인수 입력을 한다면 앞에 두 null 은 없어도 됩니다.

즉, 읽기 어렵고 무의미한 코드가 작성되었으므로 나오는 경고입니다.


해결 방법

인수의 이름을 명확하게 입력하면 해결됩니다.

해결 방법1

of([1, 2, 3]).subscribe({
    next: (v) => console.log(v),
    error: (e) => console.error(e),
    complete: () => console.log('complete')
});

해결 방법2

of([1, 2, 3]).subscribe({
    complete: () => console.log('1')
});

조금 더 자세한 내용이 알고 싶다면, 하단 참조의 공식 문서를 확인해 주세요.


참고자료

  1. RxJS - 인수 구독

반응형