Aracılığıyla paylaş


IotEdgeAuthenticationProvider class

Belirteç oluşturmayı iotedged olarak temsil eden bir AuthenticationProvider uygulaması sağlar. Bu uygulama, Azure IoT Edge ile modül istemcisi kullanılırken kullanılacaktır.

Bu tür SharedAccessKeyAuthenticationProvider devralır ve _sign yöntemini uygulayarak geçersiz kıldığı belirteç oluşturma bölümü dışında işlevsel olarak bu türle aynıdır.

Extends

Devralınan Özellikler

captureRejections

Değer: boole

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

captureRejectionSymbol

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

Özel rejection handleryazmayı öğrenin.

defaultMaxListeners

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

Değişiklik, değişiklik yapılmadan önce oluşturulanlar da dahil olmak üzere tüm örnekleri etkileyeceğinden, ayarlarken dikkatli olun. Ancak, emitter.setMaxListeners(n) çağırma işleminin events.defaultMaxListeners'den daha önceliklidir.

Bu sabit bir sınır değildir. EventEmitter örneği 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 tek EventEmitteriçin, bu uyarıyı geçici olarak önlemek için emitter.getMaxListeners() ve emitter.setMaxListeners() yöntemleri 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));
});

--trace-warnings komut satırı bayrağı, bu tür uyarıların yığın izlemesini görüntülemek için kullanılabilir.

Yayılan uyarı process.on('warning') ile incelenebilir ve ek emitter, typeve count özelliklerine sahip olur ve sırasıyla olay verici örneğine, olayın adına ve ekli dinleyici sayısına başvurur. name özelliği 'MaxListenersExceededWarning'olarak ayarlanır.

errorMonitor

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

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

type

Yöntemler

getTrustBundle((err?: Error, ca?: string) => void)

Devralınan Yöntemler

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

Sağlanan abortsignal olayını bir kez dinler.

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

Bu API, AbortSignal dinleyicinin çalışmasını engelleyecek şekilde olayı dinleyerek bu iki sorunu çözerek Node.js API'lerinde stopImmediatePropagationgüvenli bir şekilde kullanılmasına olanak 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)

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

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) ]
fromConnectionString(string, number, number)

Bağlantı dizesinden yeni bir SharedAccessKeyAuthenticationProvider oluşturur

getDeviceCredentials()
getDeviceCredentials(Callback<TransportConfig>)

Bu yöntem aktarımlar tarafından en güncel cihaz kimlik bilgilerini bir TransportConfig nesnesi biçiminde almak için kullanılır.

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

eventNameadlı olay için dinleyici dizisinin bir kopyasını döndürür.

EventEmitteriçin bu, yayımlayıcıda .listeners çağırmakla tam olarak aynı şekilde davranır.

EventTargetiçin olay hedefi için olay dinleyicilerini almanın 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()

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

getMaxListeners(EventEmitter<DefaultEventMap> | EventTarget)

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

EventEmitteriçin bu, yayımlayıcıda .getMaxListeners çağırmakla tam olarak aynı şekilde davranır.

EventTargetiçin, olay hedefi için en fazla olay dinleyicisini almanın tek yolu budur. 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
}
listenerCount(EventEmitter<DefaultEventMap>, string | symbol)

Verilen eventNamekayıtlı verilen emitter iç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)

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

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

Olayları beklemeyi iptal etmek için bir AbortSignal 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 olay adları dizisi belirtmek için close seçeneğini 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)

Promise belirli bir olayı yaydığında gerçekleştirilen veya EventEmitter beklerken EventEmitter yaydığında reddedilen bir 'error' oluşturur. Promise, verilen olaya yayılan tüm bağımsız değişkenleri içeren bir diziyle çözümlenir.

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

'error' olayının özel işlemesi yalnızca başka bir olayı beklemek için events.once() kullanıldığında kullanılır. 'events.once() olayının kendisini beklemek için error' kullanılırsa, özel işleme olmadan başka herhangi 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

Bir 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(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
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');
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.

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);
setTokenRenewalValues(number, number)

Bu yöntem, çağıranın kimlik doğrulaması yenilemesi için yeni değerler ayarlamasına olanak tanır.

Bu işlev zaman uyumlu olarak tamamlanır, ANCAK, eylemlerin zaman uyumsuz olarak gerçekleşmesine neden olur. Sağlayıcı zaten belirteç yenilemeleri yapıyorsa, örneğin bir ağ bağlantısı yapıldıysa, bu işlevin çağrılmış olması, neredeyse anında yeni bir yenilemenin gerçekleşmesine neden olur. Protokole bağlı olarak, bu bağlantının kesilmesine ve yeniden bağlanmasına neden olabilir. Ancak yenilemeler şu anda gerçekleşmiyorsa, yeni değerleri daha sonra kullanmak üzere kaydetmemiz yeterlidir.

stop()

SAS belirtecini yenilemek için kullanılan zamanlayıcıyı durdurur.

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

Devralınan Özellik Detayları

captureRejections

Değer: boole

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

static captureRejections: boolean

Özellik Değeri

boolean

SharedAccessKeyAuthenticationProvider.captureRejectionsDevralındı

captureRejectionSymbol

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

Özel rejection handleryazmayı öğrenin.

static captureRejectionSymbol: typeof captureRejectionSymbol

Özellik Değeri

typeof captureRejectionSymbol

SharedAccessKeyAuthenticationProvider.captureRejectionSymbolDevralındı

defaultMaxListeners

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

Değişiklik, değişiklik yapılmadan önce oluşturulanlar da dahil olmak üzere tüm örnekleri etkileyeceğinden, ayarlarken dikkatli olun. Ancak, emitter.setMaxListeners(n) çağırma işleminin events.defaultMaxListeners'den daha önceliklidir.

Bu sabit bir sınır değildir. EventEmitter örneği 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 tek EventEmitteriçin, bu uyarıyı geçici olarak önlemek için emitter.getMaxListeners() ve emitter.setMaxListeners() yöntemleri 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));
});

--trace-warnings komut satırı bayrağı, bu tür uyarıların yığın izlemesini görüntülemek için kullanılabilir.

Yayılan uyarı process.on('warning') ile incelenebilir ve ek emitter, typeve count özelliklerine sahip olur ve sırasıyla olay verici örneğine, olayın adına ve ekli dinleyici sayısına başvurur. name özelliği 'MaxListenersExceededWarning'olarak ayarlanır.

static defaultMaxListeners: number

Özellik Değeri

number

SharedAccessKeyAuthenticationProvider.defaultMaxListenersDevralındı

errorMonitor

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

Bu simgeyi kullanarak dinleyici yüklemek, 'error' bir 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

SharedAccessKeyAuthenticationProvider.errorMonitorDevralındı

type

type: AuthenticationType

Özellik Değeri

AuthenticationType

SharedAccessKeyAuthenticationProvider.typedevralındı

Yöntem Ayrıntıları

getTrustBundle((err?: Error, ca?: string) => void)

function getTrustBundle(callback: (err?: Error, ca?: string) => void)

Parametreler

callback

(err?: Error, ca?: string) => void

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

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

Sağlanan abortsignal olayını bir kez dinler.

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

Bu API, AbortSignal dinleyicinin çalışmasını engelleyecek şekilde olayı dinleyerek bu iki sorunu çözerek Node.js API'lerinde stopImmediatePropagationgüvenli bir şekilde kullanılmasına olanak 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

abort dinleyicisini kaldıran atılabilir.

SharedAccessKeyAuthenticationProvider.addAbortListenerDevralındı

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): IotEdgeAuthenticationProvider

Parametreler

eventName

string | symbol

listener

(args: any[]) => void

Döndürülenler

SharedAccessKeyAuthenticationProvider.addListenerDevralı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

SharedAccessKeyAuthenticationProvider.emit'den Devralınan

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

SharedAccessKeyAuthenticationProvider.eventNamesDevralındı

fromConnectionString(string, number, number)

Bağlantı dizesinden yeni bir SharedAccessKeyAuthenticationProvider oluşturur

static function fromConnectionString(connectionString: string, tokenValidTimeInSeconds?: number, tokenRenewalMarginInSeconds?: number): SharedAccessKeyAuthenticationProvider

Parametreler

connectionString

string

IoT hub'ı ile kimlik doğrulaması için gerekli parametreleri içeren bir cihaz bağlantı dizesi.

tokenValidTimeInSeconds

number

[isteğe bağlı] Belirtecin geçerli olması gereken saniye sayısı.

tokenRenewalMarginInSeconds

number

[isteğe bağlı] SharedAccessKeyAuthenticationProvider belirteci yenilemesi gereken geçerlilik süresinin sonundan önceki saniye sayısı.

Döndürülenler

SharedAccessKeyAuthenticationProvider.fromConnectionStringDevralındı

getDeviceCredentials()

function getDeviceCredentials(): Promise<TransportConfig>

Döndürülenler

Promise<TransportConfig>

SharedAccessKeyAuthenticationProvider.getDeviceCredentialsDevralındı

getDeviceCredentials(Callback<TransportConfig>)

Bu yöntem aktarımlar tarafından en güncel cihaz kimlik bilgilerini bir TransportConfig nesnesi biçiminde almak için kullanılır.

function getDeviceCredentials(callback?: Callback<TransportConfig>)

Parametreler

callback

Callback<TransportConfig>

ioT hub'ıyla kimlik doğrulaması yapmak için kullanılabilecek bir hata veya cihaz kimlik bilgileri kümesiyle çağrılacak isteğe bağlı işlev.

SharedAccessKeyAuthenticationProvider.getDeviceCredentialsDevralındı

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

eventNameadlı olay için dinleyici dizisinin bir kopyasını döndürür.

EventEmitteriçin bu, yayımlayıcıda .listeners çağırmakla tam olarak aynı şekilde davranır.

EventTargetiçin olay hedefi için olay dinleyicilerini almanın 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> | EventTarget, name: string | symbol): Function[]

Parametreler

emitter

EventEmitter<DefaultEventMap> | EventTarget

name

string | symbol

Döndürülenler

Function[]

SharedAccessKeyAuthenticationProvider.getEventListenersDevralındı

getMaxListeners()

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

function getMaxListeners(): number

Döndürülenler

number

SharedAccessKeyAuthenticationProvider.getMaxListenersDevralındı

getMaxListeners(EventEmitter<DefaultEventMap> | EventTarget)

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

EventEmitteriçin bu, yayımlayıcıda .getMaxListeners çağırmakla tam olarak aynı şekilde davranır.

EventTargetiçin, olay hedefi için en fazla olay dinleyicisini almanın tek yolu budur. 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> | EventTarget): number

Parametreler

emitter

EventEmitter<DefaultEventMap> | EventTarget

Döndürülenler

number

SharedAccessKeyAuthenticationProvider.getMaxListenersDevralındı

listenerCount(EventEmitter<DefaultEventMap>, string | symbol)

Uyarı

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

Since v3.2.0 - Use listenerCount instead.

Verilen eventNamekayıtlı verilen emitter iç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

SharedAccessKeyAuthenticationProvider.listenerCountDevralındı

listenerCount<K>(string | symbol, Function)

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

function listenerCount<K>(eventName: string | symbol, listener?: Function): number

Parametreler

eventName

string | symbol

Dinlenen olayın adı

listener

Function

Olay işleyici işlevi

Döndürülenler

number

SharedAccessKeyAuthenticationProvider.listenerCountDevralındı

listeners<K>(string | symbol)

eventNameadlı olay için dinleyici dizisinin bir kopyasını döndürür.

server.on('connection', (stream) => {
  console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]
function listeners<K>(eventName: string | symbol): Function[]

Parametreler

eventName

string | symbol

Döndürülenler

Function[]

SharedAccessKeyAuthenticationProvider.listenersdevralındı

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

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

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

Parametreler

eventName

string | symbol

listener

(args: any[]) => void

Döndürülenler

SharedAccessKeyAuthenticationProvider.offDevralındı

on(EventEmitter<DefaultEventMap>, string | symbol, StaticEventEmitterIteratorOptions)

import { on, EventEmitter } from 'node:events';
import process from 'node:process';

const ee = new EventEmitter();

// Emit later on
process.nextTick(() => {
  ee.emit('foo', 'bar');
  ee.emit('foo', 42);
});

for await (const event of on(ee, 'foo')) {
  // The execution of this inner block is synchronous and it
  // processes one event at a time (even with await). Do not use
  // if concurrent execution is required.
  console.log(event); // prints ['bar'] [42]
}
// Unreachable here

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

Olayları beklemeyi iptal etmek için bir AbortSignal 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 olay adları dizisi belirtmek için close seçeneğini 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>

AsyncIterator tarafından yayılan eventName olayları yineleyen bir emitter

SharedAccessKeyAuthenticationProvider.on Devralındı

on(EventTarget, string, StaticEventEmitterIteratorOptions)

static function on(emitter: EventTarget, eventName: string, options?: StaticEventEmitterIteratorOptions): AsyncIterator<any[], any, any>

Parametreler

emitter

EventTarget

eventName

string

options

StaticEventEmitterIteratorOptions

Döndürülenler

AsyncIterator<any[], any, any>

SharedAccessKeyAuthenticationProvider.on Devralındı

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

listener işlevini eventNameadlı olay için dinleyiciler dizisinin sonuna ekler. listener eklenip eklenmediğini görmek için denetim yapılmaz. aynı eventName ve listener birleşimini geçen birden çok çağrı, listener birden çok kez eklenmesine ve çağrılmasını sağlar.

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

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

Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır. emitter.prependListener() yöntemi, olay dinleyicisini dinleyici dizisinin başına eklemek için alternatif olarak kullanılabilir.

import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
//   b
//   a
function on<K>(eventName: string | symbol, listener: (args: any[]) => void): IotEdgeAuthenticationProvider

Parametreler

eventName

string | symbol

Olayın adı.

listener

(args: any[]) => void

Geri çağırma işlevi

Döndürülenler

SharedAccessKeyAuthenticationProvider.on Devralındı

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

Promise belirli bir olayı yaydığında gerçekleştirilen veya EventEmitter beklerken EventEmitter yaydığında reddedilen bir 'error' oluşturur. Promise, verilen olaya yayılan tüm bağımsız değişkenleri içeren bir diziyle çözümlenir.

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

'error' olayının özel işlemesi yalnızca başka bir olayı beklemek için events.once() kullanıldığında kullanılır. 'events.once() olayının kendisini beklemek için error' kullanılırsa, özel işleme olmadan başka herhangi 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

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

SharedAccessKeyAuthenticationProvider.devralındıktan sonra

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

SharedAccessKeyAuthenticationProvider.devralındıktan sonra

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): IotEdgeAuthenticationProvider

Parametreler

eventName

string | symbol

Olayın adı.

listener

(args: any[]) => void

Geri çağırma işlevi

Döndürülenler

SharedAccessKeyAuthenticationProvider.devralındıktan sonra

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): IotEdgeAuthenticationProvider

Parametreler

eventName

string | symbol

Olayın adı.

listener

(args: any[]) => void

Geri çağırma işlevi

Döndürülenler

SharedAccessKeyAuthenticationProvider.prependListenerDevralındı

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): IotEdgeAuthenticationProvider

Parametreler

eventName

string | symbol

Olayın adı.

listener

(args: any[]) => void

Geri çağırma işlevi

Döndürülenler

SharedAccessKeyAuthenticationProvider.prependOnceListenerDevralındı

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

SharedAccessKeyAuthenticationProvider.rawListenersDevralı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): IotEdgeAuthenticationProvider

Parametreler

eventName

string | symbol

Döndürülenler

SharedAccessKeyAuthenticationProvider.removeAllListenersDevralı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): IotEdgeAuthenticationProvider

Parametreler

eventName

string | symbol

listener

(args: any[]) => void

Döndürülenler

SharedAccessKeyAuthenticationProvider.removeListenerDevralı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): IotEdgeAuthenticationProvider

Parametreler

n

number

Döndürülenler

SharedAccessKeyAuthenticationProvider.setMaxListenersDevralı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ı. EventTarget olay başına en fazla dinleyici sayısı.

eventTargets

(EventEmitter<DefaultEventMap> | EventTarget)[]

Sıfır veya daha fazla {EventTarget} veya {EventEmitter} örneği. Hiçbiri belirtilmezse, n yeni oluşturulan tüm {EventTarget} ve {EventEmitter} nesneleri için varsayılan üst sınır olarak ayarlanır.

SharedAccessKeyAuthenticationProvider.setMaxListenersDevralındı

setTokenRenewalValues(number, number)

Bu yöntem, çağıranın kimlik doğrulaması yenilemesi için yeni değerler ayarlamasına olanak tanır.

Bu işlev zaman uyumlu olarak tamamlanır, ANCAK, eylemlerin zaman uyumsuz olarak gerçekleşmesine neden olur. Sağlayıcı zaten belirteç yenilemeleri yapıyorsa, örneğin bir ağ bağlantısı yapıldıysa, bu işlevin çağrılmış olması, neredeyse anında yeni bir yenilemenin gerçekleşmesine neden olur. Protokole bağlı olarak, bu bağlantının kesilmesine ve yeniden bağlanmasına neden olabilir. Ancak yenilemeler şu anda gerçekleşmiyorsa, yeni değerleri daha sonra kullanmak üzere kaydetmemiz yeterlidir.

function setTokenRenewalValues(tokenValidTimeInSeconds: number, tokenRenewalMarginInSeconds: number)

Parametreler

tokenValidTimeInSeconds

number

Belirtecin geçerli olması gereken saniye sayısı.

tokenRenewalMarginInSeconds

number

SharedAccessKeyAuthenticationProvider belirteci yenilemesi gereken geçerlilik süresinin sonundan önceki saniye sayısı.

SharedAccessKeyAuthenticationProvider.setTokenRenewalValuesDevralındı

stop()

SAS belirtecini yenilemek için kullanılan zamanlayıcıyı durdurur.

function stop()

SharedAccessKeyAuthenticationProvider.stopDevralındı

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

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

Parametreler

error

Error

event

string | symbol

args

AnyRest

SharedAccessKeyAuthenticationProviderDevralındı. [captureRejectionSymbol]