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
capture |
Değer: boole Tüm yeni |
capture |
Değer: Özel |
default |
Varsayılan olarak, herhangi bir olay için en fazla Değişiklik, değişiklik yapılmadan önce oluşturulanlar da dahil olmak üzere tüm Bu sabit bir sınır değildir.
Yayılan uyarı |
error |
Bu sembol yalnızca izleme Bu simgeyi kullanarak dinleyici yüklemek, |
type |
Yöntemler
get |
Devralınan Yöntemler
add |
Sağlanan durdurma sinyallerinde Bu API, Aboneliğinin daha kolay kaldırılabilmesi için atılabilir bir değer döndürür.
|
add |
|
emit<K>(string | symbol, Any |
Olayın dinleyicileri varsa
|
event |
Vericinin dinleyicileri kaydettiği olayları listeleyen bir dizi döndürür. Dizideki değerler dizeler veya
|
from |
Bağlantı dizesinden yeni bir |
get |
|
get |
Bu yöntem aktarımlar tarafından en güncel cihaz kimlik bilgilerini bir |
get |
|
get |
|
get |
Şu anda ayarlanmış en fazla dinleyici miktarını döndürür.
|
listener |
Verilen
|
listener |
|
listeners<K>(string | symbol) |
|
off<K>(string | symbol, (args: any[]) => void) |
|
on(Event |
Olayları beklemeyi iptal etmek için bir
Yinelemeyi sonlandıracak bir olay adları dizisi belirtmek için
|
on(Event |
|
on<K>(string | symbol, (args: any[]) => void) |
Çağrıların zincirlenebilmesi için Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır.
|
once(Event |
Bu yöntem kasıtlı olarak geneldir ve özel
Bir
|
once(Event |
|
once<K>(string | symbol, (args: any[]) => void) |
adlı olay için tek seferlik bir
Çağrıların zincirlenebilmesi için Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır.
|
prepend |
Çağrıların zincirlenebilmesi için |
prepend |
dinleyiciler dizisinin başlayan
Çağrıların zincirlenebilmesi için |
raw |
tüm sarmalayıcılar (
|
remove |
Tüm dinleyicileri veya belirtilen Özellikle Çağrıların zincirlenebilmesi için |
remove |
Bir olay yayımlandıktan sonra, yayma sırasında ona eklenen tüm dinleyiciler sırayla çağrılır. Bu, son dinleyici yürütmeyi bitirmeden önce
Dinleyiciler bir iç dizi kullanılarak yönetildiğinden, bu çağrının çağrılması, dinleyici kaldırıldıktan sonra Tek bir işlev tek bir olay için birden çok kez işleyici olarak eklendiğinde (aşağıdaki örnekte olduğu gibi),
Çağrıların zincirlenebilmesi için |
set |
Varsayılan olarak, belirli bir olay için Çağrıların zincirlenebilmesi için |
set |
|
set |
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. |
[capture |
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
captureRejectionSymbol
Değer: Symbol.for('nodejs.rejection')
Özel rejection handler
yazmayı öğrenin.
static captureRejectionSymbol: typeof captureRejectionSymbol
Özellik Değeri
typeof captureRejectionSymbol
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ümRangeError
oluşturulur.
Değişiklik, değişiklik yapılmadan önce oluşturulanlar da dahil olmak üzere tümemitter.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 EventEmitter
iç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
, type
ve 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
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
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 abort
signal
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 stopImmediatePropagation
gü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.
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
emit<K>(string | symbol, AnyRest)
eventName
adlı 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
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)[]
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
getDeviceCredentials()
function getDeviceCredentials(): Promise<TransportConfig>
Döndürülenler
Promise<TransportConfig>
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.
getEventListeners(EventEmitter<DefaultEventMap> | EventTarget, string | symbol)
eventName
adlı olay için dinleyici dizisinin bir kopyasını döndürür.
EventEmitter
için bu, yayımlayıcıda .listeners
çağırmakla tam olarak aynı şekilde davranır.
EventTarget
iç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[]
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
getMaxListeners(EventEmitter<DefaultEventMap> | EventTarget)
Şu anda ayarlanmış en fazla dinleyici miktarını döndürür.
EventEmitter
için bu, yayımlayıcıda .getMaxListeners
çağırmakla tam olarak aynı şekilde davranır.
EventTarget
iç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
listenerCount(EventEmitter<DefaultEventMap>, string | symbol)
Uyarı
Bu API artık kullanım dışıdır.
Since v3.2.0 - Use listenerCount
instead.
Verilen eventName
kayı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
listenerCount<K>(string | symbol, Function)
eventName
adlı 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
listeners<K>(string | symbol)
eventName
adlı 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 eventName
adlı 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 EventEmitter
bir 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
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 listener
eventName
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 EventEmitter
bir 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)
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 EventEmitter
bir 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
prependOnceListener<K>(string | symbol, (args: any[]) => void)
dinleyiciler dizisinin başlayan eventName
bir sonraki tetiklendiğinde, bu dinleyici kaldırılır ve sonra çağrılır.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Çağrıların zincirlenebilmesi için EventEmitter
bir 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
rawListeners<K>(string | symbol)
tüm sarmalayıcılar (eventName
tarafı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[]
removeAllListeners(string | symbol)
Tüm dinleyicileri veya belirtilen eventName
olanları 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 EventEmitter
bir başvuru döndürür.
function removeAllListeners(eventName?: string | symbol): IotEdgeAuthenticationProvider
Parametreler
- eventName
-
string | symbol
Döndürülenler
removeListener<K>(string | symbol, (args: any[]) => void)
listener
adlı 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 eventName
için dinleyici dizisine birden çok kez tek bir dinleyici eklendiyse, her örneği kaldırmak için removeListener()
birden çok kez çağrılmalıdır.
Bir olay yayımlandıktan sonra, yayma sırasında ona eklenen tüm dinleyiciler sırayla çağrılır. Bu, son dinleyici yürütmeyi bitirmeden önce
import { EventEmitter } from 'node:events';
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};
const callbackB = () => {
console.log('B');
};
myEmitter.on('event', callbackA);
myEmitter.on('event', callbackB);
// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B
// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// A
Dinleyiciler bir iç dizi kullanılarak yönetildiğinden, bu çağrının çağrılması, dinleyici kaldırıldıktan sonra emitter.listeners()
yöntemi tarafından döndürülen dinleyici dizisi kopyalarının yeniden oluşturulması gerektiği anlamına gelir.
Tek bir işlev tek bir olay için birden çok kez işleyici olarak eklendiğinde (aşağıdaki örnekte olduğu gibi), removeListener()
en son eklenen örneği kaldırır. Örnekte once('ping')
dinleyicisi kaldırılır:
import { EventEmitter } from 'node:events';
const ee = new EventEmitter();
function pong() {
console.log('pong');
}
ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);
ee.emit('ping');
ee.emit('ping');
Çağrıların zincirlenebilmesi için EventEmitter
bir 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 10
bir 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 EventEmitter
bir başvuru döndürür.
function setMaxListeners(n: number): IotEdgeAuthenticationProvider
Parametreler
- n
-
number
Döndürülenler
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.
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ı.
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]