Client class

Bir cihazı Azure IoT hub'ına bağlamak için kullanılan IoT Hub cihaz istemcisi.

SDK kullanıcıları, bir IoT Hub cihaz istemcisi oluşturmak içinConnectionString veya fromSharedAccessSignature'dan fabrika yöntemlerinden birini çağırmalıdır.

Extends

InternalClient

Oluşturucular

Client(DeviceTransport, string, BlobUploadClient, FileUploadInterface)

Devralınan Özellikler

captureRejections

Değer: boole değeri

Tüm yeni EventEmitter nesnelerdeki varsayılan captureRejections seçeneği değiştirin.

captureRejectionSymbol

Değer: Symbol.for('nodejs.rejection')

Özel rejection handleryazma bölümüne bakın.

defaultMaxListeners

Varsayılan olarak, herhangi bir olay için en fazla 10 dinleyici kaydedilebilir. Bu sınır, yöntemi kullanılarak emitter.setMaxListeners(n) tek tek EventEmitter örnekler için değiştirilebilir. TümEventEmitter örneklerin varsayılan değerini events.defaultMaxListenersdeğiştirmek için özelliği kullanılabilir. Bu değer pozitif bir sayı değilse, bir RangeErroroluşturulur.

ayarını events.defaultMaxListeners yaparken dikkatli olun çünkü değişiklik, değişiklik yapılmadan önce oluşturulanlar da dahil olmak üzere tümEventEmitter örnekleri etkiler. Ancak, çağrısının emitter.setMaxListeners(n) üzerinde önceliği events.defaultMaxListenersvardır.

Bu sabit bir sınır değildir. Örnek EventEmitter daha fazla dinleyici eklenmesine izin verir ancak stderr'a "olası EventEmitter bellek sızıntısı" algılandığını belirten bir izleme uyarısı verir. Herhangi bir tekEventEmitteremitter.getMaxListeners() için ve 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 --trace-warnings satırı bayrağı, bu tür uyarıların yığın izlemesini görüntülemek için kullanılabilir.

Gösterilen uyarı ile process.on('warning') denetlenebilir ve ek , typeve özelliklerine sahip emitterolur; count sırasıyla olay verici örneğine, olayın adına ve eklenen dinleyici sayısına başvurur. Özelliği name olarak 'MaxListenersExceededWarning'ayarlanır.

errorMonitor

Bu simge yalnızca izleme 'error'olayları için bir dinleyici yüklemek için kullanılır. Bu simge kullanılarak yüklenen dinleyiciler, normal'error' dinleyiciler çağrılmadan önce çağrılır.

Bu simgeyi kullanarak bir dinleyicinin yüklenmesi, bir'error' olay yayımlandıktan sonra davranışı değiştirmez. Bu nedenle, normal 'error' dinleyici yüklü değilse işlem yine de kilitlenir.

Yöntemler

close()
close(Callback<Disconnected>)

Aktarım bağlantısını kapatır ve istemci kaynaklarını yok eder.

Not: Bu yöntem çağrıldıktan sonra İstemci nesnesi yeniden kullanılamaz.

fromAuthenticationProvider(AuthenticationProvider, any)

Verilen kimlik doğrulama yönteminden ve verilen aktarım türünü kullanarak bir IoT Hub cihaz istemcisi oluşturur.

fromConnectionString(string, any)

Verilen aktarım türünü kullanarak verilen bağlantı dizesi bir IoT Hub cihaz istemcisi oluşturur.

fromSharedAccessSignature(string, any)

Verilen aktarım türünü kullanarak verilen paylaşılan erişim imzasından bir IoT Hub cihaz istemcisi oluşturur.

getBlobSharedAccessSignature(string)
getBlobSharedAccessSignature(string, Callback<UploadParams>)

, getBlobSharedAccessSignature IoT Hub bağlı depolama hesabı SAS Belirtecini alır

notifyBlobUploadStatus(string, boolean, number, string)
notifyBlobUploadStatus(string, boolean, number, string, ErrorCallback)

yöntemi, notifyBlobUploadStatus bir blob yüklemesinin sonucunu IoT Hub gönderir.

onDeviceMethod(string, (request: DeviceMethodRequest, response: DeviceMethodResponse) => void)

adlı methodNamebir yöntem için geri çağırma kaydeder.

setOptions(DeviceClientOptions)
setOptions(DeviceClientOptions, Callback<TransportConfigured>)
uploadToBlob(string, Stream, number)
uploadToBlob(string, Stream, number, ErrorCallback)

uploadToBlob yöntemi bloba bir akış yükler.

Devralınan Yöntemler

abandon(Message)
abandon(Message, Callback<MessageAbandoned>)
addAbortListener(AbortSignal, (event: Event) => void)

Sağlanan signalüzerindeki olayı bir kez abort dinler.

Durdurma sinyallerinde olayı dinlemek abort güvenli değildir ve sinyale sahip başka bir üçüncü taraf çağırabileceğinden e.stopImmediatePropagation()kaynak sızıntılarına yol açabilir. Ne yazık ki Node.js web standardını ihlal edeceğinden bunu değiştiremezsiniz. Ayrıca, özgün API dinleyicileri kaldırmayı unutmayı kolaylaştırır.

Bu API, dinleyicinin çalışmasını engellemeyen olayı stopImmediatePropagation dinleyerek bu iki sorunu çözerek Node.js API'lerinde s'lerin güvenli bir şekilde kullanılmasına AbortSignalolanak tanır.

Aboneliğinin daha kolay kaldırılabilmesi için atılabilir bir değer döndürür.

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]();
  }
}
addListener<K>(string | symbol, (args: any[]) => void)

için emitter.on(eventName, listener)diğer ad.

complete(Message)
complete(Message, Callback<MessageCompleted>)
emit<K>(string | symbol, AnyRest)

Adlı olayeventName 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, false aksi takdirde döndürürtrue.

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
eventNames()

Vericinin dinleyicileri kaydettiği olayları listeleyen bir dizi döndürür. Dizideki değerler dize veya Symboldeğerlerdir.

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) ]
getEventListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget, string | symbol)

adlı eventNameolay için dinleyici dizisinin bir kopyasını döndürür.

s için EventEmitterbu, vericide çağırma .listeners ile tam olarak aynı şekilde davranır.

için EventTarget, olay hedefi için olay dinleyicilerini edinmenin tek yolu budur. Bu, hata ayıklama ve tanılama amacıyla kullanışlı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] ]
}
getMaxListeners()

defaultMaxListeners tarafından emitter.setMaxListeners(n) ayarlanan veya varsayılan olarak ayarlanan geçerli en yüksek dinleyici değerini EventEmitter döndürür.

getMaxListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget)

Şu anda ayarlanmış en fazla dinleyici miktarını döndürür.

s için EventEmitterbu, vericide çağırma .getMaxListeners ile tam olarak aynı şekilde davranır.

için EventTargetbu, olay hedefi için en fazla olay dinleyicilerini edinmenin tek yoludur. Tek bir EventTarget üzerindeki olay işleyicilerinin sayısı maksimum kümeyi aşarsa, EventTarget bir uyarı yazdırı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
}
getTwin()
getTwin(Callback<Twin>)
listenerCount(EventEmitter<DefaultEventMap>, string | symbol)

Verilen emitterüzerinde kayıtlı verilen eventNameiçin dinleyici sayısını döndüren 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
listenerCount<K>(string | symbol, Function)

adlı eventNameolayı dinleyen dinleyici sayısını döndürür. Sağlanırsa listener , dinleyicinin olay dinleyicileri listesinde kaç kez bulunduğunu döndürür.

listeners<K>(string | symbol)

adlı eventNameolay 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] ]
off<K>(string | symbol, (args: any[]) => void)

için emitter.removeListener()diğer ad.

on(EventEmitter<DefaultEventMap>, string, StaticEventEmitterOptions)
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

Olayları yineleyen eventName bir AsyncIterator döndürür. yayarsa EventEmitter'error'atar. Döngüden çıkarken tüm dinleyicileri kaldırır. value Her yineleme tarafından döndürülen, yayılan olay bağımsız değişkenlerinden oluşan bir dizidir.

, AbortSignal olayları 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());
on<K>(string | symbol, (args: any[]) => void)

listener adlı eventNameolay için işlevi dinleyiciler dizisinin sonuna ekler. öğesinin zaten eklenip eklenmediğini listener görmek için denetim yapılmaz. aynı ve birleşimini eventNamelistener geçen birden çok çağrı, birden çok kez eklenmesine ve çağrılmasını listener sağlar.

server.on('connection', (stream) => {
  console.log('someone connected!');
});

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir başvuru döndürür.

Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır. yöntemi,emitter.prependListener() 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
once(EventEmitter<DefaultEventMap>, string | symbol, StaticEventEmitterOptions)

Belirtilen olayı yaydığında EventEmitter yerine getiren veya beklerken yaydığında 'error' reddedilen EventEmitter bir Promise oluşturur. , Promise verilen olaya yayılan tüm bağımsız değişkenlerin bir dizisiyle çözülür.

Bu yöntem kasıtlı olarak geneldir ve özel'error' olay semantiği olmayan ve olayı dinlemeyen 'error' web platformu EventTarget arabirimiyle ç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);
}

Olayın özel işlemesi 'error' yalnızca başka bir olayı beklemek için kullanıldığında kullanılır events.once(). 'error' olayının kendisini beklemek için kullanılırsaevents.once(), özel işleme olmadan başka bir olay türü olarak değerlendirilir:

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

, AbortSignal olayı 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!
once(_DOMEventTarget, string, StaticEventEmitterOptions)
once<K>(string | symbol, (args: any[]) => void)

adlı eventNameolay için tek seferliklistener bir işlev ekler. Bir sonraki tetiklendiğinde eventName , bu dinleyici kaldırılır ve sonra çağrılır.

server.once('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir başvuru döndürür.

Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır. yöntemi,emitter.prependOnceListener() 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
open()
open(Callback<Connected>)
prependListener<K>(string | symbol, (args: any[]) => void)

listener adlı eventNameolay için işlevi dinleyiciler dizisinin başına ekler. öğesinin zaten eklenip eklenmediğini listener görmek için denetim yapılmaz. aynı ve birleşimini eventNamelistener geçen birden çok çağrı, birden çok kez eklenmesine ve çağrılmasını listener sağlar.

server.prependListener('connection', (stream) => {
  console.log('someone connected!');
});

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir başvuru döndürür.

prependOnceListener<K>(string | symbol, (args: any[]) => void)

adlı olay eventName için dinleyiciler dizisinin başınatek seferliklistener bir işlev ekler. Bir sonraki tetiklendiğinde eventName , bu dinleyici kaldırılır ve ardından çağrılır.

server.prependOnceListener('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir başvuru döndürür.

rawListeners<K>(string | symbol)

adlı eventNameolay için dinleyici dizisinin, sarmalayıcılar da dahil olmak üzere bir kopyasını döndürür (örneğin, tarafından .once()oluşturulanlar).

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');
reject(Message)
reject(Message, Callback<MessageRejected>)
removeAllListeners(string | symbol)

Tüm dinleyicileri veya belirtilen eventNamedinleyicileri kaldırır.

Özellikle örnek başka bir bileşen veya modül (örneğin yuvalar veya dosya akışları) tarafından oluşturulduğunda kodun EventEmitter başka bir yerine eklenen dinleyicileri kaldırmak kötü bir uygulamadır.

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir başvuru döndürür.

removeListener<K>(string | symbol, (args: any[]) => void)

adlıeventName olay için belirtilen listener öğesini dinleyici dizisinden kaldırır.

const callback = (stream) => {
  console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);

removeListener() en fazla bir dinleyici örneğini dinleyici dizisinden kaldırır. Belirtilen eventNameremoveListener() için dinleyici dizisine birden çok kez tek bir dinleyici eklendiyse, her örneği kaldırmak için 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, yadıktan sonra ve son dinleyici yürütmeyi bitirmeden önce yapılan veyaremoveListener()removeAllListeners() çağrılarının devam edendenemit() kaldırılmayacağını gösterir. Sonraki olaylar beklendiği gibi davranır.

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ı, dinleyici kaldırıldıktan sonra kaydedilen herhangi bir dinleyicinin konum dizinlerini değiştirir. Bu, dinleyicilerin çağrılma sırasını etkilemez, ancak yöntemi tarafından emitter.listeners() döndürülen dinleyici dizisinin 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. once('ping')Örnekte dinleyici 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 EventEmitterzincirlenebilmesi için öğesine bir başvuru döndürür.

sendEvent(Message)
sendEvent(Message, Callback<MessageEnqueued>)
sendEventBatch(Message[])
sendEventBatch(Message[], Callback<MessageEnqueued>)
setMaxListeners(number)

Varsayılan olarak EventEmitter, belirli bir olay için birden fazla 10 dinleyici eklenirse s bir uyarı yazdırır. Bu, bellek sızıntılarını bulmaya yardımcı olan kullanışlı bir varsayılan değerdir. yöntemi, emitter.setMaxListeners() bu belirli EventEmitter örnek için sınırın değiştirilmesine izin verir. Sınırsız sayıda dinleyiciyi belirtmek için değer (veya 0) olarak ayarlanabilirInfinity.

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir başvuru döndürür.

setMaxListeners(number, (EventEmitter<DefaultEventMap> | _DOMEventTarget)[])
import { setMaxListeners, EventEmitter } from 'node:events';

const target = new EventTarget();
const emitter = new EventEmitter();

setMaxListeners(5, target, emitter);
setRetryPolicy(RetryPolicy)

İstemci tarafından tüm işlemlerde kullanılan yeniden deneme ilkesini ayarlar. Varsayılan değer ExponentialBackoffWithJitter'dır.

setTransportOptions(any)
setTransportOptions(any, Callback<TransportConfigured>)
updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)
[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)

Oluşturucu Ayrıntıları

Client(DeviceTransport, string, BlobUploadClient, FileUploadInterface)

new Client(transport: DeviceTransport, connStr?: string, blobUploadClient?: BlobUploadClient, fileUploadApi?: FileUploadInterface)

Parametreler

transport
DeviceTransport

Bir aktarım nesnesinden beklenen arabirimi uygulayan bir nesne, örneğin , Http.

connStr

string

Bir bağlantı dizesi (isteğe bağlı: sağlanmadığında SharedAccessSignature belirtecini doğrudan ayarlamak için updateSharedAccessSignature çağrılmalıdır).

blobUploadClient

BlobUploadClient

Bloba akış yükleyebilen bir nesne.

fileUploadApi

FileUploadInterface

Blob Depolama ile ilgili eylemler için IoT Hub ile iletişim kurmak için kullanılan nesne.

Devralınan Özellik Detayları

captureRejections

Değer: boole değeri

Tüm yeni EventEmitter nesnelerdeki varsayılan captureRejections seçeneği değiştirin.

static captureRejections: boolean

Özellik Değeri

boolean

Devralınan InternalClient.captureRejections

captureRejectionSymbol

Değer: Symbol.for('nodejs.rejection')

Özel rejection handleryazma bölümüne bakın.

static captureRejectionSymbol: typeof captureRejectionSymbol

Özellik Değeri

typeof captureRejectionSymbol

Devralınan InternalClient.captureRejectionSymbol

defaultMaxListeners

Varsayılan olarak, herhangi bir olay için en fazla 10 dinleyici kaydedilebilir. Bu sınır, yöntemi kullanılarak emitter.setMaxListeners(n) tek tek EventEmitter örnekler için değiştirilebilir. TümEventEmitter örneklerin varsayılan değerini events.defaultMaxListenersdeğiştirmek için özelliği kullanılabilir. Bu değer pozitif bir sayı değilse, bir RangeErroroluşturulur.

ayarını events.defaultMaxListeners yaparken dikkatli olun çünkü değişiklik, değişiklik yapılmadan önce oluşturulanlar da dahil olmak üzere tümEventEmitter örnekleri etkiler. Ancak, çağrısının emitter.setMaxListeners(n) üzerinde önceliği events.defaultMaxListenersvardır.

Bu sabit bir sınır değildir. Örnek EventEmitter daha fazla dinleyici eklenmesine izin verir ancak stderr'a "olası EventEmitter bellek sızıntısı" algılandığını belirten bir izleme uyarısı verir. Herhangi bir tekEventEmitteremitter.getMaxListeners() için ve 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 --trace-warnings satırı bayrağı, bu tür uyarıların yığın izlemesini görüntülemek için kullanılabilir.

Gösterilen uyarı ile process.on('warning') denetlenebilir ve ek , typeve özelliklerine sahip emitterolur; count sırasıyla olay verici örneğine, olayın adına ve eklenen dinleyici sayısına başvurur. Özelliği name olarak 'MaxListenersExceededWarning'ayarlanır.

static defaultMaxListeners: number

Özellik Değeri

number

Devralınan InternalClient.defaultMaxListeners

errorMonitor

Bu simge yalnızca izleme 'error'olayları için bir dinleyici yüklemek için kullanılır. Bu simge kullanılarak yüklenen dinleyiciler, normal'error' dinleyiciler çağrılmadan önce çağrılır.

Bu simgeyi kullanarak bir dinleyicinin yüklenmesi, bir'error' olay yayımlandıktan sonra davranışı değiştirmez. Bu nedenle, normal 'error' dinleyici yüklü değilse işlem yine de kilitlenir.

static errorMonitor: typeof errorMonitor

Özellik Değeri

typeof errorMonitor

Devralınan InternalClient.errorMonitor

Yöntem Ayrıntıları

close()

function close(): Promise<Disconnected>

Döndürülenler

Promise<Disconnected>

close(Callback<Disconnected>)

Aktarım bağlantısını kapatır ve istemci kaynaklarını yok eder.

Not: Bu yöntem çağrıldıktan sonra İstemci nesnesi yeniden kullanılamaz.

function close(closeCallback?: Callback<Disconnected>)

Parametreler

closeCallback

Callback<Disconnected>

Aktarım bağlantısı kesildiğinde ve istemci kapatıldıktan sonra çağrılacak isteğe bağlı işlev.

fromAuthenticationProvider(AuthenticationProvider, any)

Verilen kimlik doğrulama yönteminden ve verilen aktarım türünü kullanarak bir IoT Hub cihaz istemcisi oluşturur.

static function fromAuthenticationProvider(authenticationProvider: AuthenticationProvider, transportCtor: any): Client

Parametreler

authenticationProvider

AuthenticationProvider

IoT hub'ına yönelik kimlik doğrulama parametrelerini almak için kullanılan nesne.

transportCtor

any

IoT hub'ına bağlanmak için kullanılan aktarım protokolü.

Döndürülenler

fromConnectionString(string, any)

Verilen aktarım türünü kullanarak verilen bağlantı dizesi bir IoT Hub cihaz istemcisi oluşturur.

static function fromConnectionString(connStr: string, transportCtor: any): Client

Parametreler

connStr

string

IoT hub'ındaki "cihaz bağlantısı" izinlerini kapsülleyen bir bağlantı dizesi.

transportCtor

any

Aktarım oluşturucu.

Döndürülenler

fromSharedAccessSignature(string, any)

Verilen aktarım türünü kullanarak verilen paylaşılan erişim imzasından bir IoT Hub cihaz istemcisi oluşturur.

static function fromSharedAccessSignature(sharedAccessSignature: string, transportCtor: any): Client

Parametreler

sharedAccessSignature

string

IoT hub'ındaki "cihaz bağlantısı" izinlerini kapsülleyen paylaşılan erişim imzası.

transportCtor

any

Döndürülenler

getBlobSharedAccessSignature(string)

function getBlobSharedAccessSignature(blobName: string): Promise<UploadParams>

Parametreler

blobName

string

Döndürülenler

Promise<UploadParams>

getBlobSharedAccessSignature(string, Callback<UploadParams>)

, getBlobSharedAccessSignature IoT Hub bağlı depolama hesabı SAS Belirtecini alır

function getBlobSharedAccessSignature(blobName: string, callback?: Callback<UploadParams>)

Parametreler

blobName

string

Akışın içeriğiyle oluşturulacak blob için kullanılacak ad.

callback

Callback<UploadParams>

Karşıya yükleme tamamlandığında çağrı yapmak için isteğe bağlı geri arama.

notifyBlobUploadStatus(string, boolean, number, string)

function notifyBlobUploadStatus(correlationId: string, isSuccess: boolean, statusCode: number, statusDescription: string): Promise<void>

Parametreler

correlationId

string

isSuccess

boolean

statusCode

number

statusDescription

string

Döndürülenler

Promise<void>

notifyBlobUploadStatus(string, boolean, number, string, ErrorCallback)

yöntemi, notifyBlobUploadStatus bir blob yüklemesinin sonucunu IoT Hub gönderir.

function notifyBlobUploadStatus(correlationId: string, isSuccess: boolean, statusCode: number, statusDescription: string, callback?: ErrorCallback)

Parametreler

correlationId

string

Karşıya yükleme durumunu belirli bir blobla ilişkilendirmek için bir kimlik. çağrısı getBlobSharedAccessSignaturesırasında oluşturulur.

isSuccess

boolean

Depolama blobu işleminin sonucundaki başarı veya başarısızlık durumu.

statusCode

number

Depolama blobu sonucuyla ilişkili HTTP durum kodu.

statusDescription

string

HTTP durum kodunun açıklaması.

callback

ErrorCallback

Karşıya yükleme tamamlandığında çağrı yapmak için isteğe bağlı geri arama.

onDeviceMethod(string, (request: DeviceMethodRequest, response: DeviceMethodResponse) => void)

adlı methodNamebir yöntem için geri çağırma kaydeder.

function onDeviceMethod(methodName: string, callback: (request: DeviceMethodRequest, response: DeviceMethodResponse) => void)

Parametreler

methodName

string

Geri çağırma tarafından işlenecek yöntemin adı

callback

(request: DeviceMethodRequest, response: DeviceMethodResponse) => void

Adlı yöntem için bir yöntem isteği alındığında çağrılacak methodName işlev.

setOptions(DeviceClientOptions)

function setOptions(options: DeviceClientOptions): Promise<TransportConfigured>

Parametreler

Döndürülenler

Promise<TransportConfigured>

setOptions(DeviceClientOptions, Callback<TransportConfigured>)

function setOptions(options: DeviceClientOptions, done: Callback<TransportConfigured>)

Parametreler

done

Callback<TransportConfigured>

uploadToBlob(string, Stream, number)

function uploadToBlob(blobName: string, stream: Stream, streamLength: number): Promise<void>

Parametreler

blobName

string

stream

Stream

streamLength

number

Döndürülenler

Promise<void>

uploadToBlob(string, Stream, number, ErrorCallback)

uploadToBlob yöntemi bloba bir akış yükler.

function uploadToBlob(blobName: string, stream: Stream, streamLength: number, callback: ErrorCallback)

Parametreler

blobName

string

Akışın içeriğiyle oluşturulacak blob için kullanılacak ad.

stream

Stream

Buna ilişkin veriler bloba yüklenmelidir.

streamLength

number

Bloba yüklenecek verilerin boyutu.

callback

ErrorCallback

Devralınan Yöntemin Ayrıntıları

abandon(Message)

function abandon(message: Message): Promise<MessageAbandoned>

Parametreler

message
Message

Döndürülenler

Promise<MessageAbandoned>

Devralınan InternalClient.abandon

abandon(Message, Callback<MessageAbandoned>)

function abandon(message: Message, abandonCallback: Callback<MessageAbandoned>)

Parametreler

message
Message
abandonCallback

Callback<MessageAbandoned>

Devralınan InternalClient.abandon

addAbortListener(AbortSignal, (event: Event) => void)

Sağlanan signalüzerindeki olayı bir kez abort dinler.

Durdurma sinyallerinde olayı dinlemek abort güvenli değildir ve sinyale sahip başka bir üçüncü taraf çağırabileceğinden e.stopImmediatePropagation()kaynak sızıntılarına yol açabilir. Ne yazık ki Node.js web standardını ihlal edeceğinden bunu değiştiremezsiniz. Ayrıca, özgün API dinleyicileri kaldırmayı unutmayı kolaylaştırır.

Bu API, dinleyicinin çalışmasını engellemeyen olayı stopImmediatePropagation dinleyerek bu iki sorunu çözerek Node.js API'lerinde s'lerin güvenli bir şekilde kullanılmasına AbortSignalolanak tanır.

Aboneliğinin daha kolay kaldırılabilmesi için atılabilir bir değer döndürür.

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 kaldıran atılabilir abort .

Devralınan InternalClient.addAbortListener

addListener<K>(string | symbol, (args: any[]) => void)

için emitter.on(eventName, listener)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

Devralınan InternalClient.addListener

complete(Message)

function complete(message: Message): Promise<MessageCompleted>

Parametreler

message
Message

Döndürülenler

Promise<MessageCompleted>

Devralınan InternalClient.complete

complete(Message, Callback<MessageCompleted>)

function complete(message: Message, completeCallback: Callback<MessageCompleted>)

Parametreler

message
Message
completeCallback

Callback<MessageCompleted>

Devralınan InternalClient.complete

emit<K>(string | symbol, AnyRest)

Adlı olayeventName 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, false aksi takdirde döndürürtrue.

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

Devralınan InternalClient.emit

eventNames()

Vericinin dinleyicileri kaydettiği olayları listeleyen bir dizi döndürür. Dizideki değerler dize veya Symboldeğerlerdir.

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)[]

Devralınan InternalClient.eventNames

getEventListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget, string | symbol)

adlı eventNameolay için dinleyici dizisinin bir kopyasını döndürür.

s için EventEmitterbu, vericide çağırma .listeners ile tam olarak aynı şekilde davranır.

için EventTarget, olay hedefi için olay dinleyicilerini edinmenin tek yolu budur. Bu, hata ayıklama ve tanılama amacıyla kullanışlı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> | _DOMEventTarget, name: string | symbol): Function[]

Parametreler

emitter

EventEmitter<DefaultEventMap> | _DOMEventTarget

name

string | symbol

Döndürülenler

Function[]

Devralınan InternalClient.getEventListeners

getMaxListeners()

defaultMaxListeners tarafından emitter.setMaxListeners(n) ayarlanan veya varsayılan olarak ayarlanan geçerli en yüksek dinleyici değerini EventEmitter döndürür.

function getMaxListeners(): number

Döndürülenler

number

Devralınan InternalClient.getMaxListeners

getMaxListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget)

Şu anda ayarlanmış en fazla dinleyici miktarını döndürür.

s için EventEmitterbu, vericide çağırma .getMaxListeners ile tam olarak aynı şekilde davranır.

için EventTargetbu, olay hedefi için en fazla olay dinleyicilerini edinmenin tek yoludur. Tek bir EventTarget üzerindeki olay işleyicilerinin sayısı maksimum kümeyi aşarsa, EventTarget bir uyarı yazdırı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> | _DOMEventTarget): number

Parametreler

emitter

EventEmitter<DefaultEventMap> | _DOMEventTarget

Döndürülenler

number

Devralınan InternalClient.getMaxListeners

getTwin()

function getTwin(): Promise<Twin>

Döndürülenler

Promise<Twin>

Devralınan InternalClient.getTwin

getTwin(Callback<Twin>)

function getTwin(done: Callback<Twin>)

Parametreler

done

Callback<Twin>

Devralınan InternalClient.getTwin

listenerCount(EventEmitter<DefaultEventMap>, string | symbol)

Uyarı

Bu API artık kullanım dışıdır.

Since v3.2.0 - Use listenerCount instead.

Verilen emitterüzerinde kayıtlı verilen eventNameiçin dinleyici sayısını döndüren 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>

Sorguya yayımlayıcı

eventName

string | symbol

Olay adı

Döndürülenler

number

Devralınan InternalClient.listenerCount

listenerCount<K>(string | symbol, Function)

adlı eventNameolayı dinleyen dinleyici sayısını döndürür. Sağlanırsa listener , 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

Devralınan InternalClient.listenerCount

listeners<K>(string | symbol)

adlı eventNameolay 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[]

Devralınan InternalClient.listeners

off<K>(string | symbol, (args: any[]) => void)

için emitter.removeListener()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

Devralınan InternalClient.off

on(EventEmitter<DefaultEventMap>, string, StaticEventEmitterOptions)

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

Olayları yineleyen eventName bir AsyncIterator döndürür. yayarsa EventEmitter'error'atar. Döngüden çıkarken tüm dinleyicileri kaldırır. value Her yineleme tarafından döndürülen, yayılan olay bağımsız değişkenlerinden oluşan bir dizidir.

, AbortSignal olayları 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());
static function on(emitter: EventEmitter<DefaultEventMap>, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>

Parametreler

emitter

EventEmitter<DefaultEventMap>

eventName

string

Dinlenen olayın adı

options

StaticEventEmitterOptions

Döndürülenler

AsyncIterableIterator<any>

tarafından yayılan olayları yineleyen eventNameemitter

Devralınan InternalClient.on

on<K>(string | symbol, (args: any[]) => void)

listener adlı eventNameolay için işlevi dinleyiciler dizisinin sonuna ekler. öğesinin zaten eklenip eklenmediğini listener görmek için denetim yapılmaz. aynı ve birleşimini eventNamelistener geçen birden çok çağrı, birden çok kez eklenmesine ve çağrılmasını listener sağlar.

server.on('connection', (stream) => {
  console.log('someone connected!');
});

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir başvuru döndürür.

Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır. yöntemi,emitter.prependListener() 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

Devralınan InternalClient.on

once(EventEmitter<DefaultEventMap>, string | symbol, StaticEventEmitterOptions)

Belirtilen olayı yaydığında EventEmitter yerine getiren veya beklerken yaydığında 'error' reddedilen EventEmitter bir Promise oluşturur. , Promise verilen olaya yayılan tüm bağımsız değişkenlerin bir dizisiyle çözülür.

Bu yöntem kasıtlı olarak geneldir ve özel'error' olay semantiği olmayan ve olayı dinlemeyen 'error' web platformu EventTarget arabirimiyle ç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);
}

Olayın özel işlemesi 'error' yalnızca başka bir olayı beklemek için kullanıldığında kullanılır events.once(). 'error' olayının kendisini beklemek için kullanılırsaevents.once(), özel işleme olmadan başka bir olay türü olarak değerlendirilir:

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

, AbortSignal olayı 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[]>

Devralınan InternalClient.once

once(_DOMEventTarget, string, StaticEventEmitterOptions)

static function once(emitter: _DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>

Parametreler

emitter

_DOMEventTarget

eventName

string

options

StaticEventEmitterOptions

Döndürülenler

Promise<any[]>

Devralınan InternalClient.once

once<K>(string | symbol, (args: any[]) => void)

adlı eventNameolay için tek seferliklistener bir işlev ekler. Bir sonraki tetiklendiğinde eventName , bu dinleyici kaldırılır ve sonra çağrılır.

server.once('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir başvuru döndürür.

Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır. yöntemi,emitter.prependOnceListener() 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

Devralınan InternalClient.once

open()

function open(): Promise<Connected>

Döndürülenler

Promise<Connected>

Devralınan InternalClient.open

open(Callback<Connected>)

function open(openCallback: Callback<Connected>)

Parametreler

openCallback

Callback<Connected>

Devralınan InternalClient.open

prependListener<K>(string | symbol, (args: any[]) => void)

listener adlı eventNameolay için işlevi dinleyiciler dizisinin başına ekler. öğesinin zaten eklenip eklenmediğini listener görmek için denetim yapılmaz. aynı ve birleşimini eventNamelistener geçen birden çok çağrı, birden çok kez eklenmesine ve çağrılmasını listener sağlar.

server.prependListener('connection', (stream) => {
  console.log('someone connected!');
});

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir 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

Devralınan InternalClient.prependListener

prependOnceListener<K>(string | symbol, (args: any[]) => void)

adlı olay eventName için dinleyiciler dizisinin başınatek seferliklistener bir işlev ekler. Bir sonraki tetiklendiğinde eventName , bu dinleyici kaldırılır ve ardından çağrılır.

server.prependOnceListener('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir 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

Devralınan InternalClient.prependOnceListener

rawListeners<K>(string | symbol)

adlı eventNameolay için dinleyici dizisinin, sarmalayıcılar da dahil olmak üzere bir kopyasını döndürür (örneğin, tarafından .once()oluşturulanlar).

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[]

Devralınan InternalClient.rawListeners

reject(Message)

function reject(message: Message): Promise<MessageRejected>

Parametreler

message
Message

Döndürülenler

Promise<MessageRejected>

Devralınan InternalClient.reject

reject(Message, Callback<MessageRejected>)

function reject(message: Message, rejectCallback: Callback<MessageRejected>)

Parametreler

message
Message
rejectCallback

Callback<MessageRejected>

Devralınan InternalClient.reject

removeAllListeners(string | symbol)

Tüm dinleyicileri veya belirtilen eventNamedinleyicileri kaldırır.

Özellikle örnek başka bir bileşen veya modül (örneğin yuvalar veya dosya akışları) tarafından oluşturulduğunda kodun EventEmitter başka bir yerine eklenen dinleyicileri kaldırmak kötü bir uygulamadır.

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir başvuru döndürür.

function removeAllListeners(eventName?: string | symbol): Client

Parametreler

eventName

string | symbol

Döndürülenler

Devralınan InternalClient.removeAllListeners

removeListener<K>(string | symbol, (args: any[]) => void)

adlıeventName olay için belirtilen listener öğesini dinleyici dizisinden kaldırır.

const callback = (stream) => {
  console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);

removeListener() en fazla bir dinleyici örneğini dinleyici dizisinden kaldırır. Belirtilen eventNameremoveListener() için dinleyici dizisine birden çok kez tek bir dinleyici eklendiyse, her örneği kaldırmak için 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, yadıktan sonra ve son dinleyici yürütmeyi bitirmeden önce yapılan veyaremoveListener()removeAllListeners() çağrılarının devam edendenemit() kaldırılmayacağını gösterir. Sonraki olaylar beklendiği gibi davranır.

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ı, dinleyici kaldırıldıktan sonra kaydedilen herhangi bir dinleyicinin konum dizinlerini değiştirir. Bu, dinleyicilerin çağrılma sırasını etkilemez, ancak yöntemi tarafından emitter.listeners() döndürülen dinleyici dizisinin 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. once('ping')Örnekte dinleyici 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 EventEmitterzincirlenebilmesi için öğesine bir 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

Devralınan InternalClient.removeListener

sendEvent(Message)

function sendEvent(message: Message): Promise<MessageEnqueued>

Parametreler

message
Message

Döndürülenler

Promise<MessageEnqueued>

Devralınan InternalClient.sendEvent

sendEvent(Message, Callback<MessageEnqueued>)

function sendEvent(message: Message, sendEventCallback: Callback<MessageEnqueued>)

Parametreler

message
Message
sendEventCallback

Callback<MessageEnqueued>

Devralınan InternalClient.sendEvent

sendEventBatch(Message[])

function sendEventBatch(messages: Message[]): Promise<MessageEnqueued>

Parametreler

messages

Message[]

Döndürülenler

Promise<MessageEnqueued>

Devralınan InternalClient.sendEventBatch

sendEventBatch(Message[], Callback<MessageEnqueued>)

function sendEventBatch(messages: Message[], sendEventBatchCallback: Callback<MessageEnqueued>)

Parametreler

messages

Message[]

sendEventBatchCallback

Callback<MessageEnqueued>

Devralınan InternalClient.sendEventBatch

setMaxListeners(number)

Varsayılan olarak EventEmitter, belirli bir olay için birden fazla 10 dinleyici eklenirse s bir uyarı yazdırır. Bu, bellek sızıntılarını bulmaya yardımcı olan kullanışlı bir varsayılan değerdir. yöntemi, emitter.setMaxListeners() bu belirli EventEmitter örnek için sınırın değiştirilmesine izin verir. Sınırsız sayıda dinleyiciyi belirtmek için değer (veya 0) olarak ayarlanabilirInfinity.

Çağrıların EventEmitterzincirlenebilmesi için öğesine bir başvuru döndürür.

function setMaxListeners(n: number): Client

Parametreler

n

number

Döndürülenler

Devralınan InternalClient.setMaxListeners

setMaxListeners(number, (EventEmitter<DefaultEventMap> | _DOMEventTarget)[])

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> | _DOMEventTarget)[])

Parametreler

n

number

Negatif olmayan bir sayı. Olay başına EventTarget en fazla dinleyici sayısı.

eventTargets

(EventEmitter<DefaultEventMap> | _DOMEventTarget)[]

Devralınan InternalClient.setMaxListeners

setRetryPolicy(RetryPolicy)

İstemci tarafından tüm işlemlerde kullanılan yeniden deneme ilkesini ayarlar. Varsayılan değer ExponentialBackoffWithJitter'dır.

function setRetryPolicy(policy: RetryPolicy)

Parametreler

policy

RetryPolicy

{RetryPolicy} Gelecekteki tüm işlemler için kullanılması gereken yeniden deneme ilkesi.

Devralınan InternalClient.setRetryPolicy

setTransportOptions(any)

function setTransportOptions(options: any): Promise<TransportConfigured>

Parametreler

options

any

Döndürülenler

Promise<TransportConfigured>

Devralınan InternalClient.setTransportOptions

setTransportOptions(any, Callback<TransportConfigured>)

function setTransportOptions(options: any, done: Callback<TransportConfigured>)

Parametreler

options

any

done

Callback<TransportConfigured>

Devralınan InternalClient.setTransportOptions

updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)

function updateSharedAccessSignature(sharedAccessSignature: string, updateSasCallback?: Callback<SharedAccessSignatureUpdated>)

Parametreler

sharedAccessSignature

string

updateSasCallback

Callback<SharedAccessSignatureUpdated>

Devralınan InternalClient.updateSharedAccessSignature

[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)

function [captureRejectionSymbol]<K>(error: Error, event: string | symbol, args: AnyRest)

Parametreler

error

Error

event

string | symbol

args

AnyRest

Devralınan InternalClient.__@captureRejectionSymbol@138