What is the difference between EventEmitter.emit()
and EventEmitter.next()
? Both dispatching the event to the subscribed listeners.
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.
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