Angular 2에서 EventEmitter.next ()와 EventEmitter.emit ()의 차이점


98

EventEmitter.emit()과 의 차이점은 무엇입니까 EventEmitter.next()? 둘 다 구독 된 리스너에게 이벤트를 전달합니다.

export class MyService {
  @Output() someEvent$: EventEmitter<any> = new EventEmitter();

  someFunc() {
   this.someEvent$.emit({myObj: true});

   this.someEvent$.next({myObj: true});
  }
}

EventEmitter에 대한 documenation는 순간에 그렇게 도움이되지 않습니다.

답변:



2

최신 버전 (Ng9)의 소스 코드는 event_emitter.ts다음과 같습니다.

export class EventEmitter<T extends any> extends Subject<T> {
  /**
   * Emits an event containing a given value.
   * @param value The value to emit.
   */
  emit(value?: T) { super.next(value); }
}

EventEmitter부모 클래스에서 확장됩니다 Subject. 그리고 예상대로 emit메서드 호출 super.next().

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.