Difference between EventEmitter.next() and EventEmitter.emit() in Angular 2

后端 未结 2 740
借酒劲吻你
借酒劲吻你 2021-01-31 23:55

What is the difference between EventEmitter.emit() and EventEmitter.next()? Both dispatching the event to the subscribed listeners.



        
相关标签:
2条回答
  • 2021-02-01 00:40

    In the latest version(Ng9), the source code of event_emitter.ts goes as following:

    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 extends from parent class Subject. And emit method call super.next() as you may expected.

    0 讨论(0)
  • 2021-02-01 00:50

    They do the same. emit() is the current version, next() is deprecated.

    See also https://github.com/angular/angular/blob/b5b6ece65a96f5b8f134ad4899b56bf84afe3ba0/modules/angular2/src/facade/async.dart#L49

    0 讨论(0)
提交回复
热议问题