programing

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

abcjava 2023. 5. 21. 10:44
반응형

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

사이의 차이점은 무엇입니까?EventEmitter.emit()그리고.EventEmitter.next()둘 다 구독자에게 이벤트를 발송합니다.

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

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

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

이벤트 이미터에 대한 문서화는 현재로서는 그다지 도움이 되지 않습니다.

그들도 마찬가지입니다. emit()현재 버전입니다.next()사용되지 않습니다.

https://github.com/angular/angular/blob/b5b6ece65a96f5b8f134ad4899b56bf84afe3ba0/modules/angular2/src/facade/async.dart#L49 도 참조하십시오.

최신 버전(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()예상하신 대로

언급URL : https://stackoverflow.com/questions/35840576/difference-between-eventemitter-next-and-eventemitter-emit-in-angular-2

반응형