Client class
IoT Hub hizmet istemcisi, bir Azure IoT hub'ı aracılığıyla cihazlarla iletişim kurmak için kullanılır. SDK kullanıcısının şunları yapmasını sağlar:
- cihazlara buluttan cihaza (komut olarak da bilinir) gönderme: komutlar IoT Hub'da kuyruğa alınır ve yalnızca cihaz bağlandığında zaman uyumsuz olarak teslim edilir. Cihaz başına yalnızca 50 komut kuyruğa alınabiliyor.
- cihazlarda doğrudan yöntemleri çağırma (yalnızca cihaz şu anda bağlıysa çalışır: cihazla iletişim kurmanın zaman uyumlu bir yoludur)
- önceki komutlar için cihazlar tarafından gönderilen geri bildirim iletilerini dinleyin.
- cihazlardan dosya yükleme bildirimlerini dinleyin.
Kullanıcıların, IoT Hub hizmet İstemcisi oluşturmak için, Fabrika yöntemlerinden birini çağırarak yeni
- Extends
-
EventEmitter
Devralınan Özellikler
| capture |
Değer: boolean Tüm yeni |
| capture |
Değer: Özel |
| default |
Varsayılan olarak, herhangi bir etkinlik için maksimum Ayarlarken Bu kesin bir sınır değil. Bu
Komut satırı bayrağı, Yayınlanan uyarı |
| error |
Bu sembol, yalnızca olayları izlemek Bu sembolü kullanarak bir dinleyici yüklemek, bir |
Yöntemler
| close() | |
| close(Incoming |
IoT hub'ına bağlantıyı kapatır. |
| from |
Varsayılan aktarım (Amqp) veya ikinci bağımsız değişkende belirtilen bağlantı dizesinden bir IoT Hub hizmet istemcisi oluşturur. |
| from |
Varsayılan aktarım (Amqp) veya ikinci bağımsız değişkende belirtileni kullanarak verilen paylaşılan erişim imzasından bir IoT Hub hizmet istemcisi oluşturur. |
| from |
Varsayılan taşımayı (Amqp) veya ikinci bağımsız değişkende belirtileni kullanarak verilen Azure tokenCredential'dan bir IoT Hub hizmet istemcisi oluşturur. |
| get |
|
| get |
İstemci tarafından yeni geri bildirim iletileri alındığında olayları yayan bir AmqpReceiver nesnesi döndürür. |
| get |
|
| get |
İstemci tarafından yeni dosya karşıya yükleme bildirimleri alındığında olayları yayan bir AmqpReceiver nesnesi döndürür. |
| invoke |
|
| invoke |
Belirli bir cihaz veya modülde bir yöntemi çağırır. |
| invoke |
|
| invoke |
|
| open() | |
| open(Incoming |
IoT hub'ına bağlantıyı açar. |
| send(string, Message | Buffer |
|
| send(string, Message | Buffer |
Bir cihaza ileti gönderir. |
| set |
İstemci tarafından ağ işlemlerini yeniden denemek için kullanılan ilkeyi ayarlayın. |
Devralınan Yöntemler
| add |
Sağlanan olayı Olayı iptal sinyallerinde dinlemek Bu API, olayı dinleyerek Tek kullanımlık bir cihazı iade eder, böylece abonelikten daha kolay iptal edilebilir.
|
| add |
|
| emit<K>(string | symbol, Any |
Olayın dinleyicileri varsa
|
| event |
Vericinin dinleyicileri kaydettiği olayları listeleyen bir dizi döndürür. Dizideki değerler dizeler veya
|
| get |
S için S,
|
| get |
|
| get |
Şu anda ayarlanmış maksimum dinleyici sayısını geri döndürüyor. S için S,
|
| listener |
Verilen
|
| listener |
|
| listeners<K>(string | symbol) |
|
| off<K>(string | symbol, (args: any[]) => void) |
|
| on(Event |
Bir
Yinelemeyi sonlandıracak bir etkinlik adları dizisi belirtmek için
|
| on(Event |
|
| on<K>(string | symbol, (args: any[]) => void) |
Çağrıların zincirlenebilmesi için Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır.
|
| once(Event |
Verilen Bu yöntem kasıtlı olarak genel bir yapıya sahiptir ve özel
Etkinliğin
Etkinlik
|
| once(Event |
|
| once<K>(string | symbol, (args: any[]) => void) |
adlı olay için tek seferlik bir
Çağrıların zincirlenebilmesi için Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır.
|
| prepend |
Çağrıların zincirlenebilmesi için |
| prepend |
dinleyiciler dizisinin başlayan
Çağrıların zincirlenebilmesi için |
| raw |
tüm sarmalayıcılar (
|
| remove |
Tüm dinleyicileri veya belirtilen Özellikle Çağrıların zincirlenebilmesi için |
| remove |
Bir olay yayımlandıktan sonra, yayma sırasında ona eklenen tüm dinleyiciler sırayla çağrılır. Bu, son dinleyici yürütmeyi bitirmeden önce
Dinleyiciler bir iç dizi kullanılarak yönetildiğinden, bu çağrının çağrılması, dinleyici kaldırıldıktan sonra Tek bir işlev tek bir olay için birden çok kez işleyici olarak eklendiğinde (aşağıdaki örnekte olduğu gibi),
Çağrıların zincirlenebilmesi için |
| set |
Varsayılan olarak, belirli bir olay için Çağrıların zincirlenebilmesi için |
| set |
|
| [capture |
Devralınan Özellik Detayları
captureRejections
Değer: boolean
Tüm yeni EventEmitter nesnelerde varsayılan captureRejections seçeneği değiştir.
static captureRejections: boolean
Özellik Değeri
boolean
Miras Alınan EventEmitter.captureRedded'ler
captureRejectionSymbol
Değer: Symbol.for('nodejs.rejection')
Özel rejection handlerbir yazma yöntemini görün.
static captureRejectionSymbol: typeof captureRejectionSymbol
Özellik Değeri
typeof captureRejectionSymbol
Miras Alınan EventEmitter.captureRejectionSymbol
defaultMaxListeners
Varsayılan olarak, herhangi bir etkinlik için maksimum 10 dinleyici kaydedilebilir. Bu sınır, yöntemle bireysel EventEmitter örnekler emitter.setMaxListeners(n) için değiştirilebilir.
TümEventEmitter örnekler events.defaultMaxListeners için varsayılan özelliği değiştirmek için bu özellik kullanılabilir. Eğer bu değer pozitif bir sayı değilse, a RangeError atılır.
Ayarlarken events.defaultMaxListeners dikkatli olun çünkü bu değişiklik, değişiklikten önce oluşturulanlar da dahil olmak üzere tümEventEmitter örnekleri etkiler. Ancak, aramak emitter.setMaxListeners(n) hâlâ önceliklidir events.defaultMaxListeners.
Bu kesin bir sınır değil. Bu EventEmitter örnek, daha fazla dinleyici eklenmesine izin verir ancak stderr'e "olası bir EventEmitter bellek sızıntısı" tespit edildiğini belirten bir iz uyarısı verir. Herhangi bir tek EventEmitteriçin ve emitter.getMaxListeners()emitter.setMaxListeners() yöntemleri bu uyarıyı geçici olarak önlemek için kullanılabilir:
import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.setMaxListeners(emitter.getMaxListeners() + 1);
emitter.once('event', () => {
// do stuff
emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
});
Komut satırı bayrağı, --trace-warnings bu tür uyarılar için yığın izini göstermek için kullanılabilir.
Yayınlanan uyarı process.on('warning')emitter, ek olarak , type, ve count özelliklere sahip olur; bunlar olay yayıcı örneğine, olayın adına ve eklenmiş dinleyici sayısına atıfta bulunur.
Özelliği name olarak ayarlanmıştır 'MaxListenersExceededWarning'.
static defaultMaxListeners: number
Özellik Değeri
number
Miras Alınan EventEmitter.defaultMaxListeners
errorMonitor
Bu sembol, yalnızca olayları izlemek 'error' için bir dinleyici yüklemek için kullanılacaktır. Bu sembolü kullanan dinleyiciler, normal 'error' dinleyicilerden önce çağrılır.
Bu sembolü kullanarak bir dinleyici yüklemek, bir 'error' olay yayıldığında davranışı değiştirmez. Bu nedenle, düzenli 'error' dinleyici kurulmamış olsa süreç yine çöker.
static errorMonitor: typeof errorMonitor
Özellik Değeri
typeof errorMonitor
Miras Alınan EventEmitter.errorMonitor
Yöntem Ayrıntıları
close()
function close(): Promise<ResultWithIncomingMessage<Disconnected>>
Döndürülenler
Promise<ResultWithIncomingMessage<Disconnected>>
close(IncomingMessageCallback<Disconnected>)
IoT hub'ına bağlantıyı kapatır.
function close(done?: IncomingMessageCallback<Disconnected>)
Parametreler
- done
-
IncomingMessageCallback<Disconnected>
İşlem tamamlandığında çağrılacak isteğe bağlı işlev.
done bir Hata nesnesi bağımsız değişkeni geçirilir ve işlem başarıyla tamamlanırsa null olur.
fromConnectionString(string, TransportCtor)
Varsayılan aktarım (Amqp) veya ikinci bağımsız değişkende belirtilen bağlantı dizesinden bir IoT Hub hizmet istemcisi oluşturur.
static function fromConnectionString(connStr: string, transportCtor?: TransportCtor): Client
Parametreler
- connStr
-
string
IoT hub'ındaki "cihaz bağlantısı" izinlerini kapsülleyen bağlantı dizesi.
- transportCtor
- TransportCtor
Döndürülenler
fromSharedAccessSignature(string, TransportCtor)
Varsayılan aktarım (Amqp) veya ikinci bağımsız değişkende belirtileni kullanarak verilen paylaşılan erişim imzasından bir IoT Hub hizmet istemcisi oluşturur.
static function fromSharedAccessSignature(sharedAccessSignature: string, transportCtor?: TransportCtor): Client
Parametreler
- sharedAccessSignature
-
string
IoT hub'ındaki "hizmet bağlantısı" izinlerini kapsülleyen paylaşılan erişim imzası.
- transportCtor
- TransportCtor
Döndürülenler
fromTokenCredential(string, TokenCredential, TransportCtor)
Varsayılan taşımayı (Amqp) veya ikinci bağımsız değişkende belirtileni kullanarak verilen Azure tokenCredential'dan bir IoT Hub hizmet istemcisi oluşturur.
static function fromTokenCredential(hostName: string, tokenCredential: TokenCredential, transportCtor?: TransportCtor): Client
Parametreler
- hostName
-
string
Azure hizmetinin ana bilgisayar adı.
- tokenCredential
- TokenCredential
Azure hizmetiyle kimlik doğrulaması yapmak için kullanılan Azure TokenCredential
- transportCtor
- TransportCtor
Döndürülenler
getFeedbackReceiver()
function getFeedbackReceiver(): Promise<ResultWithIncomingMessage<ServiceReceiver>>
Döndürülenler
Promise<ResultWithIncomingMessage<ServiceReceiver>>
getFeedbackReceiver(IncomingMessageCallback<ServiceReceiver>)
İstemci tarafından yeni geri bildirim iletileri alındığında olayları yayan bir AmqpReceiver nesnesi döndürür.
function getFeedbackReceiver(done?: IncomingMessageCallback<ServiceReceiver>)
Parametreler
- done
-
IncomingMessageCallback<ServiceReceiver>
İşlem tamamlandığında çağrılacak isteğe bağlı işlev.
done iki bağımsız değişkenle çağrılır: Error nesnesi (null olabilir) ve AmqpReceiver nesnesi.
getFileNotificationReceiver()
function getFileNotificationReceiver(): Promise<ResultWithIncomingMessage<ServiceReceiver>>
Döndürülenler
Promise<ResultWithIncomingMessage<ServiceReceiver>>
getFileNotificationReceiver(IncomingMessageCallback<ServiceReceiver>)
İstemci tarafından yeni dosya karşıya yükleme bildirimleri alındığında olayları yayan bir AmqpReceiver nesnesi döndürür.
function getFileNotificationReceiver(done?: IncomingMessageCallback<ServiceReceiver>)
Parametreler
- done
-
IncomingMessageCallback<ServiceReceiver>
İşlem tamamlandığında çağrılacak isteğe bağlı işlev.
done iki bağımsız değişkenle çağrılır: Error nesnesi (null olabilir) ve AmqpReceiver nesnesi.
invokeDeviceMethod(string, DeviceMethodParams)
function invokeDeviceMethod(deviceId: string, methodParams: DeviceMethodParams): Promise<ResultWithIncomingMessage<any>>
Parametreler
- deviceId
-
string
- methodParams
- DeviceMethodParams
Döndürülenler
Promise<ResultWithIncomingMessage<any>>
invokeDeviceMethod(string, DeviceMethodParams, IncomingMessageCallback<any>)
Belirli bir cihaz veya modülde bir yöntemi çağırır.
function invokeDeviceMethod(deviceId: string, methodParams: DeviceMethodParams, done?: IncomingMessageCallback<any>)
Parametreler
- deviceId
-
string
Mevcut bir cihaz kimliğinin tanımlayıcısı.
- methodParams
- DeviceMethodParams
- done
-
IncomingMessageCallback<any>
Yöntem yürütmesinin sonucuyla çağrılacak isteğe bağlı geri çağırma.
invokeDeviceMethod(string, string, DeviceMethodParams)
function invokeDeviceMethod(deviceId: string, moduleId: string, methodParams: DeviceMethodParams): Promise<ResultWithIncomingMessage<any>>
Parametreler
- deviceId
-
string
- moduleId
-
string
- methodParams
- DeviceMethodParams
Döndürülenler
Promise<ResultWithIncomingMessage<any>>
invokeDeviceMethod(string, string, DeviceMethodParams, IncomingMessageCallback<any>)
function invokeDeviceMethod(deviceId: string, moduleId: string, methodParams: DeviceMethodParams, done: IncomingMessageCallback<any>)
Parametreler
- deviceId
-
string
- moduleId
-
string
- methodParams
- DeviceMethodParams
- done
-
IncomingMessageCallback<any>
open()
function open(): Promise<ResultWithIncomingMessage<Connected>>
Döndürülenler
Promise<ResultWithIncomingMessage<Connected>>
open(IncomingMessageCallback<Connected>)
IoT hub'ına bağlantıyı açar.
function open(done?: IncomingMessageCallback<Connected>)
Parametreler
- done
-
IncomingMessageCallback<Connected>
İşlem tamamlandığında çağrılacak isteğe bağlı işlev.
done bir Hata nesnesi bağımsız değişkeni geçirilir ve işlem başarıyla tamamlanırsa null olur.
send(string, Message | BufferConvertible)
function send(deviceId: string, message: Message | BufferConvertible): Promise<ResultWithIncomingMessage<MessageEnqueued>>
Parametreler
- deviceId
-
string
- message
-
Message | BufferConvertible
Döndürülenler
Promise<ResultWithIncomingMessage<MessageEnqueued>>
send(string, Message | BufferConvertible, IncomingMessageCallback<MessageEnqueued>)
Bir cihaza ileti gönderir.
function send(deviceId: string, message: Message | BufferConvertible, done?: IncomingMessageCallback<MessageEnqueued>)
Parametreler
- deviceId
-
string
Mevcut bir cihaz kimliğinin tanımlayıcısı.
- message
-
Message | BufferConvertible
Cihaza gönderilecek iletinin gövdesi.
message
İletitüründe değilse dönüştürülür.
- done
-
IncomingMessageCallback<MessageEnqueued>
İşlem tamamlandığında çağrılacak isteğe bağlı işlev.
done iki bağımsız değişkenle çağrılır: Hata nesnesi (null olabilir) ve günlüğe kaydetme veya hata ayıklama için yararlı olan aktarıma özgü yanıt nesnesi.
setRetryPolicy(RetryPolicy)
İstemci tarafından ağ işlemlerini yeniden denemek için kullanılan ilkeyi ayarlayın.
function setRetryPolicy(policy: RetryPolicy)
Parametreler
- policy
-
RetryPolicy
işlemleri yeniden denemek için kullanılan ilke (örneğin, açma, gönderme vb.). SDK 2 "yerleşik" ilkeyle birlikte gelir: ExponentialBackoffWithJitter (varsayılan) ve NoRetry (herhangi bir yeniden deneme biçimini iptal etmek için). Kullanıcı, 2 yöntem uyguladığı sürece kendi nesnesini de geçirebilir: - shouldRetry(err: Error): boolean : hata türüne göre bir işlemin yeniden denenip denenmeyeceğini gösterir - nextRetryTimeout(retryCount: number, throttled: boole): number: geçmiş deneme sayısına (retryCount) ve hatanın azaltma hatası olup olmadığı gerçeğine göre yeniden denemeden önce beklenmesi gereken süreyi (milisaniye cinsinden) döndürür.
Devralınan Yöntemin Ayrıntıları
addAbortListener(AbortSignal, (event: Event) => void)
Sağlanan olayı signalbir kez abort dinler.
Olayı iptal sinyallerinde dinlemek abort güvensizdir ve kaynak sızıntılarına yol açabilir çünkü sinyali başka bir üçüncü taraf tarafından arama yapabilir e.stopImmediatePropagation(). Ne yazık ki Node.js bunu değiştiremem çünkü web standardını ihlal eder. Ayrıca, orijinal API dinleyicileri kaldırmayı kolayca unutmayı sağlıyor.
Bu API, olayı dinleyerek stopImmediatePropagation dinleyicinin çalışmasını engellemeyecek şekilde bu iki sorunu çözerek Node.js içinde s in API'leri güvenli şekilde kullanmaya AbortSignalolanak tanır.
Tek kullanımlık bir cihazı iade eder, böylece abonelikten daha kolay iptal edilebilir.
import { addAbortListener } from 'node:events';
function example(signal) {
let disposable;
try {
signal.addEventListener('abort', (e) => e.stopImmediatePropagation());
disposable = addAbortListener(signal, (e) => {
// Do something when signal is aborted.
});
} finally {
disposable?.[Symbol.dispose]();
}
}
static function addAbortListener(signal: AbortSignal, resource: (event: Event) => void): Disposable
Parametreler
- signal
-
AbortSignal
- resource
-
(event: Event) => void
Döndürülenler
Disposable
Dinleyiciyi abort ortadan kaldıran tek kullanımlık.
Miras Alınan EventEmitter.addAbortListener
addListener<K>(string | symbol, (args: any[]) => void)
emitter.on(eventName, listener)için diğer ad.
function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Döndürülenler
EventEmitter.addListener Devralındı
emit<K>(string | symbol, AnyRest)
eventNameadlı olay için kaydedilen dinleyicilerin her birini, kaydedildikleri sırayla zaman uyumlu olarak çağırır ve sağlanan bağımsız değişkenleri her birine geçirir.
Olayın dinleyicileri varsa true döndürür, aksi takdirde 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
Parametreler
- eventName
-
string | symbol
- args
-
AnyRest
Döndürülenler
boolean
EventEmitter.emit Devralındı
eventNames()
Vericinin dinleyicileri kaydettiği olayları listeleyen bir dizi döndürür. Dizideki değerler dizeler veya Symbol'lerdir.
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)[]
Döndürülenler
(string | symbol)[]
EventEmitter.eventNames Devralındı
getEventListeners(EventEmitter<DefaultEventMap> | EventTarget, string | symbol)
eventNameadlı olay için dinleyici dizisinin bir kopyasını döndürür.
S için EventEmitterbu, yayıcıyı çağırmakla .listeners tamamen aynı şekilde davranır.
S, EventTargetetkinlik hedefi için etkinlik dinleyicilerini elde etmenin tek yolu budur. Bu, hata ayıklama ve tanılama amaçları için faydalıdır.
import { getEventListeners, EventEmitter } from 'node:events';
{
const ee = new EventEmitter();
const listener = () => console.log('Events are fun');
ee.on('foo', listener);
console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
}
{
const et = new EventTarget();
const listener = () => console.log('Events are fun');
et.addEventListener('foo', listener);
console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
}
static function getEventListeners(emitter: EventEmitter<DefaultEventMap> | EventTarget, name: string | symbol): Function[]
Parametreler
- emitter
-
EventEmitter<DefaultEventMap> | EventTarget
- name
-
string | symbol
Döndürülenler
Function[]
Miras Alınan EventEmitter.getEventListeners
getMaxListeners()
EventEmitter veya varsayılan olarak emitter.setMaxListeners(n)olarak ayarlanan <xref:EventEmitter.defaultMaxListeners> için geçerli en yüksek dinleyici değerini döndürür.
function getMaxListeners(): number
Döndürülenler
number
EventEmitter.getMaxListeners'dan Devralınan
getMaxListeners(EventEmitter<DefaultEventMap> | EventTarget)
Şu anda ayarlanmış maksimum dinleyici sayısını geri döndürüyor.
S için EventEmitterbu, yayıcıyı çağırmakla .getMaxListeners tamamen aynı şekilde davranır.
S, EventTargetetkinlik hedefi için maksimum olay dinleyici sayısını elde etmenin tek yolu budur. Tek bir EventTarget'taki olay işleyici sayısı maksimum seti aşarsa, EventTarget bir uyarı yazacaktır.
import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';
{
const ee = new EventEmitter();
console.log(getMaxListeners(ee)); // 10
setMaxListeners(11, ee);
console.log(getMaxListeners(ee)); // 11
}
{
const et = new EventTarget();
console.log(getMaxListeners(et)); // 10
setMaxListeners(11, et);
console.log(getMaxListeners(et)); // 11
}
static function getMaxListeners(emitter: EventEmitter<DefaultEventMap> | EventTarget): number
Parametreler
- emitter
-
EventEmitter<DefaultEventMap> | EventTarget
Döndürülenler
number
EventEmitter.getMaxListeners'dan Devralınan
listenerCount(EventEmitter<DefaultEventMap>, string | symbol)
Uyarı
Bu API artık kullanım dışıdır.
Since v3.2.0 - Use listenerCount instead.
Verilen emittersınıf için kayıtlı dinleyici sayısını döndüren eventName bir sınıf yöntemi.
import { EventEmitter, listenerCount } from 'node:events';
const myEmitter = new EventEmitter();
myEmitter.on('event', () => {});
myEmitter.on('event', () => {});
console.log(listenerCount(myEmitter, 'event'));
// Prints: 2
static function listenerCount(emitter: EventEmitter<DefaultEventMap>, eventName: string | symbol): number
Parametreler
- emitter
-
EventEmitter<DefaultEventMap>
Sorgulayan yayıcı
- eventName
-
string | symbol
Olay adı
Döndürülenler
number
EventEmitter.listenerCount Devralındı
listenerCount<K>(string | symbol, Function)
eventNameadlı olayı dinleyen dinleyici sayısını döndürür.
listener sağlanırsa, dinleyicinin olay dinleyicileri listesinde kaç kez bulunduğunu döndürür.
function listenerCount<K>(eventName: string | symbol, listener?: Function): number
Parametreler
- eventName
-
string | symbol
Dinlenen olayın adı
- listener
-
Function
Olay işleyici işlevi
Döndürülenler
number
EventEmitter.listenerCount Devralındı
listeners<K>(string | symbol)
eventNameadlı olay için dinleyici dizisinin bir kopyasını döndürür.
server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]
function listeners<K>(eventName: string | symbol): Function[]
Parametreler
- eventName
-
string | symbol
Döndürülenler
Function[]
EventEmitter.listeners Devralındı
off<K>(string | symbol, (args: any[]) => void)
emitter.removeListener()için diğer ad.
function off<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Döndürülenler
EventEmitter.off Devralındı
on(EventEmitter<DefaultEventMap>, string | symbol, StaticEventEmitterIteratorOptions)
import { on, EventEmitter } from 'node:events';
import process from 'node:process';
const ee = new EventEmitter();
// Emit later on
process.nextTick(() => {
ee.emit('foo', 'bar');
ee.emit('foo', 42);
});
for await (const event of on(ee, 'foo')) {
// The execution of this inner block is synchronous and it
// processes one event at a time (even with await). Do not use
// if concurrent execution is required.
console.log(event); // prints ['bar'] [42]
}
// Unreachable here
Bir AsyncIterator dönüş yapar ve bu durum yinelenir eventName . Eğer yayım EventEmitter'error'yaparsa fırlatır. Döngüden çıkarken tüm dinleyicileri çıkarıyor. Her yinelemede verilen döndürülen value bir dizi, yayılan olay argümanlarından oluşan bir dizidir.
AbortSignal An etkinlikleri beklemeyi iptal etmek için kullanılabilir:
import { on, EventEmitter } from 'node:events';
import process from 'node:process';
const ac = new AbortController();
(async () => {
const ee = new EventEmitter();
// Emit later on
process.nextTick(() => {
ee.emit('foo', 'bar');
ee.emit('foo', 42);
});
for await (const event of on(ee, 'foo', { signal: ac.signal })) {
// The execution of this inner block is synchronous and it
// processes one event at a time (even with await). Do not use
// if concurrent execution is required.
console.log(event); // prints ['bar'] [42]
}
// Unreachable here
})();
process.nextTick(() => ac.abort());
Yinelemeyi sonlandıracak bir etkinlik adları dizisi belirtmek için close şu seçeneği kullanın:
import { on, EventEmitter } from 'node:events';
import process from 'node:process';
const ee = new EventEmitter();
// Emit later on
process.nextTick(() => {
ee.emit('foo', 'bar');
ee.emit('foo', 42);
ee.emit('close');
});
for await (const event of on(ee, 'foo', { close: ['close'] })) {
console.log(event); // prints ['bar'] [42]
}
// the loop will exit after 'close' is emitted
console.log('done'); // prints 'done'
static function on(emitter: EventEmitter<DefaultEventMap>, eventName: string | symbol, options?: StaticEventEmitterIteratorOptions): AsyncIterator<any[], any, any>
Parametreler
- emitter
-
EventEmitter<DefaultEventMap>
- eventName
-
string | symbol
- options
-
StaticEventEmitterIteratorOptions
Döndürülenler
AsyncIterator<any[], any, any>
An AsyncIterator tarafından yayılan olayları yineleme eventNameemitter
EventEmitter.on Devralındı
on(EventTarget, string, StaticEventEmitterIteratorOptions)
static function on(emitter: EventTarget, eventName: string, options?: StaticEventEmitterIteratorOptions): AsyncIterator<any[], any, any>
Parametreler
- emitter
-
EventTarget
- eventName
-
string
- options
-
StaticEventEmitterIteratorOptions
Döndürülenler
AsyncIterator<any[], any, any>
EventEmitter.on Devralındı
on<K>(string | symbol, (args: any[]) => void)
listener işlevini eventNameadlı olay için dinleyiciler dizisinin sonuna ekler.
listener eklenip eklenmediğini görmek için denetim yapılmaz. aynı eventName ve listener birleşimini geçen birden çok çağrı, listener birden çok kez eklenmesine ve çağrılmasını sağlar.
server.on('connection', (stream) => {
console.log('someone connected!');
});
Çağrıların zincirlenebilmesi için EventEmitterbir başvuru döndürür.
Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır.
emitter.prependListener() yöntemi, olay dinleyicisini dinleyici dizisinin başına eklemek için alternatif olarak kullanılabilir.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a
function on<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
Olayın adı.
- listener
-
(args: any[]) => void
Geri çağırma işlevi
Döndürülenler
EventEmitter.on Devralındı
once(EventEmitter<DefaultEventMap>, string | symbol, StaticEventEmitterOptions)
Verilen Promise olayı yaydığında gerçekleşen EventEmitter ya da beklerken yayımlanan bir şey oluşturur EventEmitter'error' .
Verilen olaya Promise verilen tüm argümanların dizisi ile çözülecektir.
Bu yöntem kasıtlı olarak genel bir yapıya sahiptir ve özel'error' bir olay anlamanlamı olmayan ve olayı dinlemeyen 'error' web platformu EventTarget arayüzüyle çalışır.
import { once, EventEmitter } from 'node:events';
import process from 'node:process';
const ee = new EventEmitter();
process.nextTick(() => {
ee.emit('myevent', 42);
});
const [value] = await once(ee, 'myevent');
console.log(value);
const err = new Error('kaboom');
process.nextTick(() => {
ee.emit('error', err);
});
try {
await once(ee, 'myevent');
} catch (err) {
console.error('error happened', err);
}
Etkinliğin 'error' özel yönetimi, yalnızca başka bir etkinlik beklerken events.once() kullanılır. Eğer events.once() 'error' olayın kendisini beklemek için kullanılırsa, o zaman özel bir işlem olmadan başka herhangi bir olay türü olarak ele alınır:
import { EventEmitter, once } from 'node:events';
const ee = new EventEmitter();
once(ee, 'error')
.then(([err]) => console.log('ok', err.message))
.catch((err) => console.error('error', err.message));
ee.emit('error', new Error('boom'));
// Prints: ok boom
Etkinlik AbortSignal beklemeyi iptal etmek için kullanılabilir:
import { EventEmitter, once } from 'node:events';
const ee = new EventEmitter();
const ac = new AbortController();
async function foo(emitter, event, signal) {
try {
await once(emitter, event, { signal });
console.log('event emitted!');
} catch (error) {
if (error.name === 'AbortError') {
console.error('Waiting for the event was canceled!');
} else {
console.error('There was an error', error.message);
}
}
}
foo(ee, 'foo', ac.signal);
ac.abort(); // Abort waiting for the event
ee.emit('foo'); // Prints: Waiting for the event was canceled!
static function once(emitter: EventEmitter<DefaultEventMap>, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>
Parametreler
- emitter
-
EventEmitter<DefaultEventMap>
- eventName
-
string | symbol
- options
-
StaticEventEmitterOptions
Döndürülenler
Promise<any[]>
EventEmitter.once Devralındı
once(EventTarget, string, StaticEventEmitterOptions)
static function once(emitter: EventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>
Parametreler
- emitter
-
EventTarget
- eventName
-
string
- options
-
StaticEventEmitterOptions
Döndürülenler
Promise<any[]>
EventEmitter.once Devralındı
once<K>(string | symbol, (args: any[]) => void)
adlı olay için tek seferlik bir listenereventName işlevi ekler.
eventName bir sonraki tetiklendiğinde, bu dinleyici kaldırılır ve çağrılır.
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Çağrıların zincirlenebilmesi için EventEmitterbir başvuru döndürür.
Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır.
emitter.prependOnceListener() yöntemi, olay dinleyicisini dinleyici dizisinin başına eklemek için alternatif olarak kullanılabilir.
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): Client
Parametreler
- eventName
-
string | symbol
Olayın adı.
- listener
-
(args: any[]) => void
Geri çağırma işlevi
Döndürülenler
EventEmitter.once Devralındı
prependListener<K>(string | symbol, (args: any[]) => void)
listener eklenip eklenmediğini görmek için denetim yapılmaz. aynı eventName ve listener birleşimini geçen birden çok çağrı, listener birden çok kez eklenmesine ve çağrılmasını sağlar.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Çağrıların zincirlenebilmesi için EventEmitterbir başvuru döndürür.
function prependListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
Olayın adı.
- listener
-
(args: any[]) => void
Geri çağırma işlevi
Döndürülenler
EventEmitter.prependListener Devralındı
prependOnceListener<K>(string | symbol, (args: any[]) => void)
dinleyiciler dizisinin başlayan eventName bir sonraki tetiklendiğinde, bu dinleyici kaldırılır ve sonra çağrılır.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Çağrıların zincirlenebilmesi için EventEmitterbir başvuru döndürür.
function prependOnceListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
Olayın adı.
- listener
-
(args: any[]) => void
Geri çağırma işlevi
Döndürülenler
EventEmitter.prependOnceListener'dan Devralınan
rawListeners<K>(string | symbol)
tüm sarmalayıcılar (eventNametarafından oluşturulanlar gibi) dahil olmak üzere .once()adlı olay için dinleyici dizisinin bir kopyasını döndürür.
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[]
Parametreler
- eventName
-
string | symbol
Döndürülenler
Function[]
EventEmitter.rawListeners Devralındı
removeAllListeners(string | symbol)
Tüm dinleyicileri veya belirtilen eventNameolanları kaldırır.
Özellikle EventEmitter örneği başka bir bileşen veya modül (örneğin yuvalar veya dosya akışları) tarafından oluşturulduğunda kodun başka bir yerine eklenen dinleyicileri kaldırmak kötü bir uygulamadır.
Çağrıların zincirlenebilmesi için EventEmitterbir başvuru döndürür.
function removeAllListeners(eventName?: string | symbol): Client
Parametreler
- eventName
-
string | symbol
Döndürülenler
EventEmitter.removeAllListeners Devralındı
removeListener<K>(string | symbol, (args: any[]) => void)
listeneradlı olay için dinleyici dizisinden belirtilen eventName kaldırır.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener() dinleyici dizisinden en fazla bir dinleyici örneğini kaldırır. Belirtilen eventNameiçin dinleyici dizisine birden çok kez tek bir dinleyici eklendiyse, her örneği kaldırmak için removeListener() birden çok kez çağrılmalıdır.
Bir olay yayımlandıktan sonra, yayma sırasında ona eklenen tüm dinleyiciler sırayla çağrılır. Bu, son dinleyici yürütmeyi bitirmeden önce
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
Dinleyiciler bir iç dizi kullanılarak yönetildiğinden, bu çağrının çağrılması, dinleyici kaldırıldıktan sonra emitter.listeners() yöntemi tarafından döndürülen dinleyici dizisi kopyalarının yeniden oluşturulması gerektiği anlamına gelir.
Tek bir işlev tek bir olay için birden çok kez işleyici olarak eklendiğinde (aşağıdaki örnekte olduğu gibi), removeListener() en son eklenen örneği kaldırır. Örnekte once('ping') dinleyicisi kaldırılır:
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');
Çağrıların zincirlenebilmesi için EventEmitterbir başvuru döndürür.
function removeListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Döndürülenler
EventEmitter.removeListener Devralındı
setMaxListeners(number)
Varsayılan olarak, belirli bir olay için EventEmitter'den fazla dinleyici eklenirse 10bir uyarı yazdırır. Bu, bellek sızıntılarını bulmaya yardımcı olan kullanışlı bir varsayılan değerdir.
emitter.setMaxListeners() yöntemi, sınırın bu belirli EventEmitter örneği için değiştirilmesini sağlar. Değer, sınırsız sayıda dinleyiciyi göstermek için Infinity (veya 0) olarak ayarlanabilir.
Çağrıların zincirlenebilmesi için EventEmitterbir başvuru döndürür.
function setMaxListeners(n: number): Client
Parametreler
- n
-
number
Döndürülenler
EventEmitter.setMaxListeners Devralındı
setMaxListeners(number, (EventEmitter<DefaultEventMap> | EventTarget)[])
import { setMaxListeners, EventEmitter } from 'node:events';
const target = new EventTarget();
const emitter = new EventEmitter();
setMaxListeners(5, target, emitter);
static function setMaxListeners(n?: number, eventTargets: (EventEmitter<DefaultEventMap> | EventTarget)[])
Parametreler
- n
-
number
Negatif olmayan bir sayı. Etkinlik EventTarget başına maksimum dinleyici sayısı.
- eventTargets
-
(EventEmitter<DefaultEventMap> | EventTarget)[]
Sıfır veya daha fazla {EventTarget} veya {EventEmitter} örneği. Eğer hiçbiri belirtilmediyse, n yeni oluşturulan tüm {EventTarget} ve {EventEmitter} nesneleri için varsayılan maksimum olarak ayarlanır.
EventEmitter.setMaxListeners Devralındı
[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)
function [captureRejectionSymbol]<K>(error: Error, event: string | symbol, args: AnyRest)
Parametreler
- error
-
Error
- event
-
string | symbol
- args
-
AnyRest
Miras Olarak EventEmitter.__@captureRejectionSymbol@118