Receiver interface
- Extends
-
EventEmitter
الأساليب
on("error |
|
on("message", (msg: Message) => void) | |
on(string, Function) |
الأساليب المتوارثة
add |
الاسم المستعار ل |
emit<K>(string | symbol, Any |
يستدعي بشكل متزامن كل من المستمعين المسجلين للحدث المسمى إرجاع
|
event |
إرجاع صفيف يسرد الأحداث التي لدى المرسل مستمعين مسجلين لها. القيم في الصفيف هي سلاسل أو
|
get |
إرجاع الحد الأقصى الحالي لقيمة |
listener |
إرجاع عدد المستمعين الذين يستمعون للحدث المسمى |
listeners<K>(string | symbol) | إرجاع نسخة من صفيف المستمعين للحدث المسمى
|
off<K>(string | symbol, (args: any[]) => void) | الاسم المستعار ل |
once<K>(string | symbol, (args: any[]) => void) | يضيف دالة لمرة
إرجاع مرجع إلى بشكل افتراضي، يتم استدعاء مستمعي الأحداث بالترتيب الذي تتم إضافتهم به.
|
prepend |
يضيف الدالة
إرجاع مرجع إلى |
prepend |
يضيف دالة لمرة
إرجاع مرجع إلى |
raw |
إرجاع نسخة من صفيف المستمعين للحدث المسمى
|
remove |
يزيل جميع المستمعين أو المستمعين المحددين من الممارسات السيئة إزالة المستمعين الذين تمت إضافتهم في مكان آخر في التعليمات البرمجية، خاصة عندما إرجاع مرجع إلى |
remove |
يزيل المحدد
بمجرد إصدار حدث، يتم استدعاء جميع المستمعين المرفقين به في وقت الانبعاث بالترتيب. وهذا يعني أن أي
نظرا لأنه تتم إدارة المستمعين باستخدام صفيف داخلي، سيؤدي استدعاء هذا إلى تغيير مؤشرات موضع أي وحدة استماع مسجلة بعد إزالة وحدة الاستماع. لن يؤثر هذا على الترتيب الذي يتم استدعاء المستمعين به، ولكنه يعني أن أي نسخ من صفيف المستمع كما تم إرجاعها بواسطة عند إضافة دالة واحدة كمعالج عدة مرات لحدث واحد (كما في المثال أدناه)،
إرجاع مرجع إلى |
set |
بشكل افتراضي إرجاع مرجع إلى |
[capture |
تفاصيل الأسلوب
on("errorReceived", (err: Error) => void)
function on(type: "errorReceived", func: (err: Error) => void): Receiver
المعلمات
- type
-
"errorReceived"
- func
-
(err: Error) => void
المرتجعات
on("message", (msg: Message) => void)
function on(type: "message", func: (msg: Message) => void): Receiver
المعلمات
- type
-
"message"
- func
-
(msg: Message) => void
المرتجعات
on(string, Function)
function on(type: string, func: Function): Receiver
المعلمات
- type
-
string
- func
-
Function
المرتجعات
تفاصيل الأساليب المتوارثة
addListener<K>(string | symbol, (args: any[]) => void)
الاسم المستعار ل emitter.on(eventName, listener)
.
function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
المعلمات
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
المرتجعات
موروث من EventEmitter.addListener
emit<K>(string | symbol, AnyRest)
يستدعي بشكل متزامن كل من المستمعين المسجلين للحدث المسمى eventName
، بالترتيب الذي تم تسجيله، ما يمرر الوسيطات المتوفرة لكل منها.
إرجاع true
إذا كان الحدث يحتوي على مستمعين، false
بخلاف ذلك.
import { EventEmitter } from 'node:events';
const myEmitter = new EventEmitter();
// First listener
myEmitter.on('event', function firstListener() {
console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
const parameters = args.join(', ');
console.log(`event with parameters ${parameters} in third listener`);
});
console.log(myEmitter.listeners('event'));
myEmitter.emit('event', 1, 2, 3, 4, 5);
// Prints:
// [
// [Function: firstListener],
// [Function: secondListener],
// [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener
function emit<K>(eventName: string | symbol, args: AnyRest): boolean
المعلمات
- eventName
-
string | symbol
- args
-
AnyRest
المرتجعات
boolean
موروث من EventEmitter.emit
eventNames()
إرجاع صفيف يسرد الأحداث التي لدى المرسل مستمعين مسجلين لها. القيم في الصفيف هي سلاسل أو Symbol
s.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => {});
myEE.on('bar', () => {});
const sym = Symbol('symbol');
myEE.on(sym, () => {});
console.log(myEE.eventNames());
// Prints: [ 'foo', 'bar', Symbol(symbol) ]
function eventNames(): (string | symbol)[]
المرتجعات
(string | symbol)[]
موروث من EventEmitter.eventNames
getMaxListeners()
إرجاع الحد الأقصى الحالي لقيمة EventEmitter
وحدة الاستماع التي يتم تعيينها إما حسب emitter.setMaxListeners(n)
أو الإعدادات الافتراضية إلى <xref:defaultMaxListeners>.
function getMaxListeners(): number
المرتجعات
number
موروث من EventEmitter.getMaxListeners
listenerCount<K>(string | symbol, Function)
إرجاع عدد المستمعين الذين يستمعون للحدث المسمى eventName
.
إذا listener
تم توفيره، فسيرجع عدد المرات التي يتم فيها العثور على وحدة الإصغاء في قائمة مستمعي الحدث.
function listenerCount<K>(eventName: string | symbol, listener?: Function): number
المعلمات
- eventName
-
string | symbol
اسم الحدث الذي يتم الاستماع إليه
- listener
-
Function
دالة معالج الأحداث
المرتجعات
number
موروث من EventEmitter.listenerCount
listeners<K>(string | symbol)
إرجاع نسخة من صفيف المستمعين للحدث المسمى eventName
.
server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]
function listeners<K>(eventName: string | symbol): Function[]
المعلمات
- eventName
-
string | symbol
المرتجعات
Function[]
موروث من EventEmitter.listeners
off<K>(string | symbol, (args: any[]) => void)
الاسم المستعار ل emitter.removeListener()
.
function off<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
المعلمات
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
المرتجعات
موروث من EventEmitter.off
once<K>(string | symbol, (args: any[]) => void)
يضيف دالة لمرةlistener
واحدة للحدث المسمى eventName
. في المرة eventName
التالية التي يتم فيها تشغيل، تتم إزالة وحدة الاستماع هذه ثم استدعاؤها.
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
إرجاع مرجع إلى EventEmitter
، بحيث يمكن ربط الاستدعاءات.
بشكل افتراضي، يتم استدعاء مستمعي الأحداث بالترتيب الذي تتم إضافتهم به. emitter.prependOnceListener()
يمكن استخدام الأسلوب كبديل لإضافة مستمع الحدث إلى بداية صفيف المستمعين.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a
function once<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
المعلمات
- eventName
-
string | symbol
اسم الحدث.
- listener
-
(args: any[]) => void
دالة رد الاتصال
المرتجعات
موروث من EventEmitter.once
prependListener<K>(string | symbol, (args: any[]) => void)
يضيف الدالة listener
إلى بداية صفيف المستمعين للحدث المسمى eventName
. لا يتم إجراء أي عمليات فحص لمعرفة ما إذا كان listener
قد تمت إضافته بالفعل. ستؤدي المكالمات المتعددة التي تمرر نفس المجموعة من eventName
و listener
إلى listener
إضافة واستدعاء عدة مرات.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
إرجاع مرجع إلى EventEmitter
، بحيث يمكن ربط الاستدعاءات.
function prependListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
المعلمات
- eventName
-
string | symbol
اسم الحدث.
- listener
-
(args: any[]) => void
دالة رد الاتصال
المرتجعات
موروث من EventEmitter.prependListener
prependOnceListener<K>(string | symbol, (args: any[]) => void)
يضيف دالة لمرةlistener
واحدة للحدث المسمى eventName
إلى بداية صفيف المستمعين. في المرة eventName
التالية التي يتم فيها تشغيل، تتم إزالة وحدة الاستماع هذه، ثم استدعاؤها.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
إرجاع مرجع إلى EventEmitter
، بحيث يمكن ربط الاستدعاءات.
function prependOnceListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
المعلمات
- eventName
-
string | symbol
اسم الحدث.
- listener
-
(args: any[]) => void
دالة رد الاتصال
المرتجعات
موروث من EventEmitter.prependOnceListener
rawListeners<K>(string | symbol)
إرجاع نسخة من صفيف المستمعين للحدث المسمى eventName
، بما في ذلك أي برامج تضمين (مثل تلك التي تم إنشاؤها بواسطة .once()
).
import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.once('log', () => console.log('log once'));
// Returns a new Array with a function `onceWrapper` which has a property
// `listener` which contains the original listener bound above
const listeners = emitter.rawListeners('log');
const logFnWrapper = listeners[0];
// Logs "log once" to the console and does not unbind the `once` event
logFnWrapper.listener();
// Logs "log once" to the console and removes the listener
logFnWrapper();
emitter.on('log', () => console.log('log persistently'));
// Will return a new Array with a single function bound by `.on()` above
const newListeners = emitter.rawListeners('log');
// Logs "log persistently" twice
newListeners[0]();
emitter.emit('log');
function rawListeners<K>(eventName: string | symbol): Function[]
المعلمات
- eventName
-
string | symbol
المرتجعات
Function[]
موروث من EventEmitter.rawListeners
removeAllListeners(string | symbol)
يزيل جميع المستمعين أو المستمعين المحددين eventName
.
من الممارسات السيئة إزالة المستمعين الذين تمت إضافتهم في مكان آخر في التعليمات البرمجية، خاصة عندما EventEmitter
تم إنشاء المثيل بواسطة بعض المكونات أو الوحدة النمطية الأخرى (مثل مآخذ التوصيل أو تدفقات الملفات).
إرجاع مرجع إلى EventEmitter
، بحيث يمكن ربط الاستدعاءات.
function removeAllListeners(eventName?: string | symbol): Receiver
المعلمات
- eventName
-
string | symbol
المرتجعات
موروث من EventEmitter.removeAllListeners
removeListener<K>(string | symbol, (args: any[]) => void)
يزيل المحدد listener
من صفيف وحدة الاستماع للحدث المسمى eventName
.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
سيزيل، على الأكثر، مثيلا واحدا من وحدة الاستماع من صفيف المستمع. إذا تمت إضافة أي وحدة استماع واحدة عدة مرات إلى صفيف المستمع للمحدد eventName
، removeListener()
فيجب استدعاء عدة مرات لإزالة كل مثيل.
بمجرد إصدار حدث، يتم استدعاء جميع المستمعين المرفقين به في وقت الانبعاث بالترتيب. وهذا يعني أن أي removeListener()
أو removeAllListeners()
استدعاءات بعد الانبعاث وقبل انتهاء المستمع الأخير من التنفيذ لن يزيلها منemit()
قيد التقدم. تتصرف الأحداث اللاحقة كما هو متوقع.
import { EventEmitter } from 'node:events';
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};
const callbackB = () => {
console.log('B');
};
myEmitter.on('event', callbackA);
myEmitter.on('event', callbackB);
// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B
// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// A
نظرا لأنه تتم إدارة المستمعين باستخدام صفيف داخلي، سيؤدي استدعاء هذا إلى تغيير مؤشرات موضع أي وحدة استماع مسجلة بعد إزالة وحدة الاستماع. لن يؤثر هذا على الترتيب الذي يتم استدعاء المستمعين به، ولكنه يعني أن أي نسخ من صفيف المستمع كما تم إرجاعها بواسطة emitter.listeners()
الأسلوب ستحتاج إلى إعادة إنشائها.
عند إضافة دالة واحدة كمعالج عدة مرات لحدث واحد (كما في المثال أدناه)، removeListener()
ستزيل أحدث مثيل تمت إضافته. في المثال تتم إزالة وحدة once('ping')
الاستماع:
import { EventEmitter } from 'node:events';
const ee = new EventEmitter();
function pong() {
console.log('pong');
}
ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);
ee.emit('ping');
ee.emit('ping');
إرجاع مرجع إلى EventEmitter
، بحيث يمكن ربط الاستدعاءات.
function removeListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Receiver
المعلمات
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
المرتجعات
موروث من EventEmitter.removeListener
setMaxListeners(number)
بشكل افتراضي EventEmitter
، سيطبع s تحذيرا إذا تمت إضافة أكثر من 10
وحدات الاستماع لحدث معين. هذا افتراضي مفيد يساعد على العثور على تسربات الذاكرة. emitter.setMaxListeners()
يسمح الأسلوب بتعديل الحد لهذا المثيل المحددEventEmitter
. يمكن تعيين القيمة إلى Infinity
(أو 0
) للإشارة إلى عدد غير محدود من المستمعين.
إرجاع مرجع إلى EventEmitter
، بحيث يمكن ربط الاستدعاءات.
function setMaxListeners(n: number): Receiver
المعلمات
- n
-
number
المرتجعات
موروث من EventEmitter.setMaxListeners
[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)
function [captureRejectionSymbol]<K>(error: Error, event: string | symbol, args: AnyRest)
المعلمات
- error
-
Error
- event
-
string | symbol
- args
-
AnyRest
موروث من EventEmitter.__@captureRejectionSymbol@91