وصف الطريقة:
يزيل جميع المستمعين ، وإذا تم تحديد حدث ما ، تتم إزالة جميع المستمعين للحدث المحدد.
القواعد:
نسخة الكود كما يلي:
Emitter.removeallisteners ([حدث])
تلقي المعلمات:
نوع الحدث ، يدعم عدة
مثال:
نسخة الكود كما يلي:
// إزالة جميع المستمعين
Emitter.removealllisteners ()
// قم بإزالة جميع مستمعي الحدث المحدد
Emitter.removeallisteners ('Data')
رمز المصدر:
نسخة الكود كما يلي:
eventemitter.prototype.removeallisteners = function (type) {
VAR KEY ، المستمعون ؛
إذا (! this._events)
إرجاع هذا ؛
// عدم الاستماع إلى الإزالة ، لا حاجة إلى الانبعاث
if (! this._events.removelistener) {
if (الحجج. الطول === 0)
this._events = {} ؛
آخر إذا (this._events [type])
حذف this._events [type] ؛
إرجاع هذا ؛
}
// تنبعث من الإزالة لجميع المستمعين في جميع الأحداث
if (الحجج. length === 0) {
ل (مفتاح في هذا ._events) {
إذا (KEY === 'REMOVELISTENER ") متابعة ؛
this.removealllisteners (مفتاح) ؛
}
this.removealllisteners ('removelistener') ؛
this._events = {} ؛
إرجاع هذا ؛
}
المستمعين = this._events [type] ؛
if (util.isfunction (المستمعون)) {
this.removelistener (النوع ، المستمعون) ؛
} آخر {
// طلب LIFO
بينما (المستمعون. الطول)
this.removelistener (النوع ، المستمعون [المستمعين. الطول - 1]) ؛
}
حذف this._events [type] ؛
إرجاع هذا ؛
} ؛