คำอธิบายวิธี:
ลบผู้ฟังสำหรับเหตุการณ์ที่ระบุ
ไวยากรณ์:
การคัดลอกรหัสมีดังนี้:
emitter.removelistener (เหตุการณ์ผู้ฟัง)
รับพารามิเตอร์:
ประเภทเหตุการณ์ (สตริง) ประเภทเหตุการณ์
ผู้ฟัง (ฟังก์ชั่น) ผู้ฟังที่ลงทะเบียน
ตัวอย่าง:
การคัดลอกรหัสมีดังนี้:
var callback = function (สตรีม) {
console.log ('มีคนเชื่อมต่อ!');
-
Server.on ('การเชื่อมต่อ', การโทรกลับ);
-
Server.RemoVelistener ('การเชื่อมต่อ', การโทรกลับ);
ซอร์สโค้ด:
การคัดลอกรหัสมีดังนี้:
// ปล่อยเหตุการณ์ 'RemoveListener' หากผู้ฟังถูกลบออก
Eventemitter.prototype.remoVelistener = function (type, Listener) {
รายการ var, ตำแหน่ง, ความยาว, i;
if (! util.isfunction (ผู้ฟัง))
Throw TypeError ('ผู้ฟังต้องเป็นฟังก์ชั่น');
if (! this._events ||! this._events [type])
คืนสิ่งนี้;
list = this._events [type];
ความยาว = list.length;
ตำแหน่ง = -1;
if (list === Listener ||
(util.isfunction (list.listener) && list.listener === ผู้ฟัง)) {
ลบสิ่งนี้ _Events [type];
if (this._events.removelistener)
this.emit ('RemoveListener', พิมพ์, ผู้ฟัง);
} อื่นถ้า (util.isobject (รายการ)) {
สำหรับ (i = length; i--> 0;) {
if (list [i] === Listener ||
(รายการ [i] .Listener && รายการ [i] .Listener === ผู้ฟัง)) {
ตำแหน่ง = i;
หยุดพัก;
-
-
ถ้า (ตำแหน่ง <0)
คืนสิ่งนี้;
if (list.length === 1) {
list.length = 0;
ลบสิ่งนี้ _Events [type];
} อื่น {
list.splice (ตำแหน่ง, 1);
-
if (this._events.removelistener)
this.emit ('RemoveListener', พิมพ์, ผู้ฟัง);
-
คืนสิ่งนี้;
-