Client class

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

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

Extends

InternalClient

Devralınan Özellikler

captureRejections

Değer: boolean

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

captureRejectionSymbol

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

Özel rejection handlerbir yazma yöntemini görün.

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'.

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.

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ı dizesinden 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 Bağlı depolama hesabı SAS Belirtecini IoT Hub'dan alır

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

notifyBlobUploadStatus yöntemi IoT Hub'a blob karşıya yükleme işleminin sonucunu gönderir.

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

methodNameadlı bir 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 bir akışı bloba yükler.

Devralınan Yöntemler

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

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

complete(Message)
complete(Message, Callback<MessageCompleted>)
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
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) ]
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] ]
}
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.

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
}
getTwin()
getTwin(Callback<Twin>)
listenerCount(EventEmitter<DefaultEventMap>, string | symbol)

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
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.

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

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

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'
on(EventTarget, string, StaticEventEmitterIteratorOptions)
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
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!
once(EventTarget, string, StaticEventEmitterOptions)
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
open()
open(Callback<Connected>)
prependListener<K>(string | symbol, (args: any[]) => void)

işlevini, adlı olay için dinleyiciler dizisinin başlayan 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.prependListener('connection', (stream) => {
  console.log('someone connected!');
});

Çağrıların zincirlenebilmesi için EventEmitterbir başvuru döndürür.

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

dinleyiciler dizisinin başlayan adlı olay için tek seferlik bir işlevi ekler. 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.

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

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 veya çağrısının yürütmeyi bitirmeden önce veya çağrılarının devam eden kaldırmayacağı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ının çağrılması, dinleyici kaldırıldıktan sonra kaydedilen tüm dinleyicilerin konum dizinlerini değiştirir. Bu, dinleyicilerin çağrılma sırasını etkilemez, ancak 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.

sendEvent(Message)
sendEvent(Message, Callback<MessageEnqueued>)
sendEventBatch(Message[])
sendEventBatch(Message[], Callback<MessageEnqueued>)
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.

setMaxListeners(number, (EventEmitter<DefaultEventMap> | EventTarget)[])
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'dir.

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

Httpgibi bir aktarım nesnesi beklenen arabirimini uygulayan nesne.

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: 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 InternalClient.captureRedditmeler

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 InternalClient.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 InternalClient.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 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ı dizesinden 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 bağlantı dizesi.

transportCtor

any

Bir taşıma 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 Bağlı depolama hesabı SAS Belirtecini IoT Hub'dan 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)

notifyBlobUploadStatus yöntemi IoT Hub'a blob karşıya yükleme işleminin sonucunu 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. getBlobSharedAccessSignatureçağrısı sırasında oluşturulur.

isSuccess

boolean

Depolama blobu işlem 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)

methodNameadlı bir 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

methodName adlı yöntem için bir yöntem isteği alındığında çağrılacak 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 bir akışı bloba 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>

InternalClient.abandon Devralındı

abandon(Message, Callback<MessageAbandoned>)

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

Parametreler

message
Message
abandonCallback

Callback<MessageAbandoned>

InternalClient.abandon Devralındı

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 InternalClient.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

InternalClient.addListener'dan Devralınan

complete(Message)

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

Parametreler

message
Message

Döndürülenler

Promise<MessageCompleted>

InternalClient.complete Devralındı

complete(Message, Callback<MessageCompleted>)

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

Parametreler

message
Message
completeCallback

Callback<MessageCompleted>

InternalClient.complete 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

InternalClient.emit'den Devralınmış

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

InternalClient.eventNames'ten Devralınan

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 InternalClient.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

InternalClient.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

InternalClient.getMaxListeners'dan Devralınan

getTwin()

function getTwin(): Promise<Twin>

Döndürülenler

Promise<Twin>

InternalClient.getTwin'den Devralınan

getTwin(Callback<Twin>)

function getTwin(done: Callback<Twin>)

Parametreler

done

Callback<Twin>

InternalClient.getTwin'den 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

InternalClient.listenerCount'dan Devralınan

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

InternalClient.listenerCount'dan Devralınan

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

InternalClient.listeners'dan Devralınan

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

InternalClient.off'tan Devralınmış

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

InternalClient.on'dan 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>

InternalClient.on'dan 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

InternalClient.on'dan 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[]>

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

InternalClient.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

InternalClient.once Devralındı

open()

function open(): Promise<Connected>

Döndürülenler

Promise<Connected>

InternalClient.open Devralındı

open(Callback<Connected>)

function open(openCallback: Callback<Connected>)

Parametreler

openCallback

Callback<Connected>

InternalClient.open Devralındı

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

işlevini, adlı olay için dinleyiciler dizisinin başlayan 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.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

InternalClient.prependListener'dan Devralınan

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

dinleyiciler dizisinin başlayan adlı olay için tek seferlik bir işlevi ekler. 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

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

InternalClient.rawListeners'dan Devralınan

reject(Message)

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

Parametreler

message
Message

Döndürülenler

Promise<MessageRejected>

InternalClient.reject Devralındı

reject(Message, Callback<MessageRejected>)

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

Parametreler

message
Message
rejectCallback

Callback<MessageRejected>

InternalClient.reject 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

InternalClient.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 veya çağrısının yürütmeyi bitirmeden önce veya çağrılarının devam eden kaldırmayacağı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ının çağrılması, dinleyici kaldırıldıktan sonra kaydedilen tüm dinleyicilerin konum dizinlerini değiştirir. Bu, dinleyicilerin çağrılma sırasını etkilemez, ancak 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

InternalClient.removeListener Devralındı

sendEvent(Message)

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

Parametreler

message
Message

Döndürülenler

Promise<MessageEnqueued>

InternalClient.sendEvent'ten Devralınan

sendEvent(Message, Callback<MessageEnqueued>)

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

Parametreler

message
Message
sendEventCallback

Callback<MessageEnqueued>

InternalClient.sendEvent'ten Devralınan

sendEventBatch(Message[])

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

Parametreler

messages

Message[]

Döndürülenler

Promise<MessageEnqueued>

InternalClient.sendEventBatch Devralındı

sendEventBatch(Message[], Callback<MessageEnqueued>)

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

Parametreler

messages

Message[]

sendEventBatchCallback

Callback<MessageEnqueued>

InternalClient.sendEventBatch 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

InternalClient.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.

InternalClient.setMaxListeners Devralındı

setRetryPolicy(RetryPolicy)

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

function setRetryPolicy(policy: RetryPolicy)

Parametreler

policy

RetryPolicy

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

InternalClient.setRetryPolicy'den Devralınan

setTransportOptions(any)

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

Parametreler

options

any

Döndürülenler

Promise<TransportConfigured>

InternalClient.setTransportOptions Devralındı

setTransportOptions(any, Callback<TransportConfigured>)

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

Parametreler

options

any

done

Callback<TransportConfigured>

InternalClient.setTransportOptions Devralındı

updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)

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

Parametreler

sharedAccessSignature

string

updateSasCallback

Callback<SharedAccessSignatureUpdated>

InternalClient.updateSharedAccessSignature'dan Devralınan

[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 InternalClient.__@captureRejectionSymbol@141