Client class
Bir cihazı Azure IoT hub'ına bağlamak için kullanılan IoT Hub cihaz istemcisi.
SDK kullanıcıları, bir IoT Hub cihaz istemcisi oluşturmak içinConnectionString veya fromSharedAccessSignature'dan fabrika yöntemlerinden birini çağırmalıdır.
- Extends
-
InternalClient
Oluşturucular
Client(Device |
Devralınan Özellikler
capture |
Değer: boole değeri Tüm yeni |
capture |
Değer: Özel |
default |
Varsayılan olarak, herhangi bir olay için en fazla ayarını Bu sabit bir sınır değildir. Örnek
Komut Gösterilen uyarı ile |
error |
Bu simge yalnızca izleme Bu simgeyi kullanarak bir dinleyicinin yüklenmesi, bir |
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. |
from |
Verilen kimlik doğrulama yönteminden ve verilen aktarım türünü kullanarak bir IoT Hub cihaz istemcisi oluşturur. |
from |
Verilen aktarım türünü kullanarak verilen bağlantı dizesi bir IoT Hub cihaz istemcisi oluşturur. |
from |
Verilen aktarım türünü kullanarak verilen paylaşılan erişim imzasından bir IoT Hub cihaz istemcisi oluşturur. |
get |
|
get |
, |
notify |
|
notify |
yöntemi, |
on |
adlı |
set |
|
set |
|
upload |
|
upload |
|
Devralınan Yöntemler
abandon(Message) | |
abandon(Message, Callback<Message |
|
add |
Sağlanan Durdurma sinyallerinde olayı dinlemek Bu API, dinleyicinin çalışmasını engellemeyen olayı Aboneliğinin daha kolay kaldırılabilmesi için atılabilir bir değer döndürür.
|
add |
için |
complete(Message) | |
complete(Message, Callback<Message |
|
emit<K>(string | symbol, Any |
Adlı olay Olayın dinleyicileri varsa,
|
event |
Vericinin dinleyicileri kaydettiği olayları listeleyen bir dizi döndürür. Dizideki değerler dize veya
|
get |
adlı s için için
|
get |
defaultMaxListeners tarafından |
get |
Şu anda ayarlanmış en fazla dinleyici miktarını döndürür. s için için
|
get |
|
get |
|
listener |
Verilen
|
listener |
adlı |
listeners<K>(string | symbol) | adlı
|
off<K>(string | symbol, (args: any[]) => void) | için |
on(Event |
Olayları yineleyen ,
|
on<K>(string | symbol, (args: any[]) => void) |
Çağrıların Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır. yöntemi,
|
once(Event |
Belirtilen olayı yaydığında Bu yöntem kasıtlı olarak geneldir ve özel
Olayın özel işlemesi
,
|
once(_DOMEvent |
|
once<K>(string | symbol, (args: any[]) => void) | adlı
Çağrıların Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır. yöntemi,
|
open() | |
open(Callback<Connected>) | |
prepend |
Çağrıların |
prepend |
adlı olay
Çağrıların |
raw |
adlı
|
reject(Message) | |
reject(Message, Callback<Message |
|
remove |
Tüm dinleyicileri veya belirtilen Özellikle örnek başka bir bileşen veya modül (örneğin yuvalar veya dosya akışları) tarafından oluşturulduğunda kodun Çağrıların |
remove |
adlı
Bir olay yayımlandıktan sonra, yayma sırasında ona eklenen tüm dinleyiciler sırayla çağrılır. Bu, yadıktan sonra ve son dinleyici yürütmeyi bitirmeden önce yapılan veya
Dinleyiciler bir iç dizi kullanılarak yönetildiğinden, bu çağrı, dinleyici kaldırıldıktan sonra kaydedilen herhangi bir dinleyicinin konum dizinlerini değiştirir. Bu, dinleyicilerin çağrılma sırasını etkilemez, ancak yöntemi tarafından 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 |
send |
|
send |
|
send |
|
send |
|
set |
Varsayılan olarak Çağrıların |
set |
|
set |
İstemci tarafından tüm işlemlerde kullanılan yeniden deneme ilkesini ayarlar. Varsayılan değer ExponentialBackoffWithJitter'dır. |
set |
|
set |
|
update |
|
[capture |
Oluşturucu Ayrıntıları
Client(DeviceTransport, string, BlobUploadClient, FileUploadInterface)
new Client(transport: DeviceTransport, connStr?: string, blobUploadClient?: BlobUploadClient, fileUploadApi?: FileUploadInterface)
Parametreler
- transport
- DeviceTransport
Bir aktarım nesnesinden beklenen arabirimi uygulayan bir nesne, örneğin , Http.
- connStr
-
string
Bir bağlantı dizesi (isteğe bağlı: sağlanmadığında SharedAccessSignature belirtecini doğrudan ayarlamak için updateSharedAccessSignature çağrılmalıdır).
- blobUploadClient
-
BlobUploadClient
Bloba akış yükleyebilen bir nesne.
- fileUploadApi
-
FileUploadInterface
Blob Depolama ile ilgili eylemler için IoT Hub ile iletişim kurmak için kullanılan nesne.
Devralınan Özellik Detayları
captureRejections
Değer: boole değeri
Tüm yeni EventEmitter
nesnelerdeki varsayılan captureRejections
seçeneği değiştirin.
static captureRejections: boolean
Özellik Değeri
boolean
Devralınan InternalClient.captureRejections
captureRejectionSymbol
Değer: Symbol.for('nodejs.rejection')
Özel rejection handler
yazma bölümüne bakın.
static captureRejectionSymbol: typeof captureRejectionSymbol
Özellik Değeri
typeof captureRejectionSymbol
Devralınan InternalClient.captureRejectionSymbol
defaultMaxListeners
Varsayılan olarak, herhangi bir olay için en fazla 10
dinleyici kaydedilebilir. Bu sınır, yöntemi kullanılarak emitter.setMaxListeners(n)
tek tek EventEmitter
örnekler için değiştirilebilir. TümEventEmitter
örneklerin varsayılan değerini events.defaultMaxListeners
değiştirmek için özelliği kullanılabilir. Bu değer pozitif bir sayı değilse, bir RangeError
oluşturulur.
ayarını events.defaultMaxListeners
yaparken dikkatli olun çünkü değişiklik, değişiklik yapılmadan önce oluşturulanlar da dahil olmak üzere tümEventEmitter
örnekleri etkiler. Ancak, çağrısının emitter.setMaxListeners(n)
üzerinde önceliği events.defaultMaxListeners
vardır.
Bu sabit bir sınır değildir. Örnek EventEmitter
daha fazla dinleyici eklenmesine izin verir ancak stderr'a "olası EventEmitter bellek sızıntısı" algılandığını belirten bir izleme uyarısı verir. Herhangi bir tekEventEmitter
emitter.getMaxListeners()
için ve emitter.setMaxListeners()
yöntemleri bu uyarıyı geçici olarak önlemek için kullanılabilir:
import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.setMaxListeners(emitter.getMaxListeners() + 1);
emitter.once('event', () => {
// do stuff
emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0));
});
Komut --trace-warnings
satırı bayrağı, bu tür uyarıların yığın izlemesini görüntülemek için kullanılabilir.
Gösterilen uyarı ile process.on('warning')
denetlenebilir ve ek , type
ve özelliklerine sahip emitter
olur; count
sırasıyla olay verici örneğine, olayın adına ve eklenen dinleyici sayısına başvurur.
Özelliği name
olarak 'MaxListenersExceededWarning'
ayarlanır.
static defaultMaxListeners: number
Özellik Değeri
number
Devralınan InternalClient.defaultMaxListeners
errorMonitor
Bu simge yalnızca izleme 'error'
olayları için bir dinleyici yüklemek için kullanılır. Bu simge kullanılarak yüklenen dinleyiciler, normal'error'
dinleyiciler çağrılmadan önce çağrılır.
Bu simgeyi kullanarak bir dinleyicinin yüklenmesi, bir'error'
olay yayımlandıktan sonra davranışı değiştirmez. Bu nedenle, normal 'error'
dinleyici yüklü değilse işlem yine de kilitlenir.
static errorMonitor: typeof errorMonitor
Özellik Değeri
typeof errorMonitor
Devralınan InternalClient.errorMonitor
Yöntem Ayrıntıları
close()
function close(): Promise<Disconnected>
Döndürülenler
Promise<Disconnected>
close(Callback<Disconnected>)
Aktarım bağlantısını kapatır ve istemci kaynaklarını yok eder.
Not: Bu yöntem çağrıldıktan sonra İstemci nesnesi yeniden kullanılamaz.
function close(closeCallback?: Callback<Disconnected>)
Parametreler
- closeCallback
-
Callback<Disconnected>
Aktarım bağlantısı kesildiğinde ve istemci kapatıldıktan sonra çağrılacak isteğe bağlı işlev.
fromAuthenticationProvider(AuthenticationProvider, any)
Verilen kimlik doğrulama yönteminden ve verilen aktarım türünü kullanarak bir IoT Hub cihaz istemcisi oluşturur.
static function fromAuthenticationProvider(authenticationProvider: AuthenticationProvider, transportCtor: any): Client
Parametreler
- authenticationProvider
-
AuthenticationProvider
IoT hub'ına yönelik kimlik doğrulama parametrelerini almak için kullanılan nesne.
- transportCtor
-
any
IoT hub'ına bağlanmak için kullanılan aktarım protokolü.
Döndürülenler
fromConnectionString(string, any)
Verilen aktarım türünü kullanarak verilen bağlantı dizesi bir IoT Hub cihaz istemcisi oluşturur.
static function fromConnectionString(connStr: string, transportCtor: any): Client
Parametreler
- connStr
-
string
IoT hub'ındaki "cihaz bağlantısı" izinlerini kapsülleyen bir bağlantı dizesi.
- transportCtor
-
any
Aktarım oluşturucu.
Döndürülenler
fromSharedAccessSignature(string, any)
Verilen aktarım türünü kullanarak verilen paylaşılan erişim imzasından bir IoT Hub cihaz istemcisi oluşturur.
static function fromSharedAccessSignature(sharedAccessSignature: string, transportCtor: any): Client
Parametreler
- sharedAccessSignature
-
string
IoT hub'ındaki "cihaz bağlantısı" izinlerini kapsülleyen paylaşılan erişim imzası.
- transportCtor
-
any
Döndürülenler
getBlobSharedAccessSignature(string)
function getBlobSharedAccessSignature(blobName: string): Promise<UploadParams>
Parametreler
- blobName
-
string
Döndürülenler
Promise<UploadParams>
getBlobSharedAccessSignature(string, Callback<UploadParams>)
, getBlobSharedAccessSignature
IoT Hub bağlı depolama hesabı SAS Belirtecini alır
function getBlobSharedAccessSignature(blobName: string, callback?: Callback<UploadParams>)
Parametreler
- blobName
-
string
Akışın içeriğiyle oluşturulacak blob için kullanılacak ad.
- callback
-
Callback<UploadParams>
Karşıya yükleme tamamlandığında çağrı yapmak için isteğe bağlı geri arama.
notifyBlobUploadStatus(string, boolean, number, string)
function notifyBlobUploadStatus(correlationId: string, isSuccess: boolean, statusCode: number, statusDescription: string): Promise<void>
Parametreler
- correlationId
-
string
- isSuccess
-
boolean
- statusCode
-
number
- statusDescription
-
string
Döndürülenler
Promise<void>
notifyBlobUploadStatus(string, boolean, number, string, ErrorCallback)
yöntemi, notifyBlobUploadStatus
bir blob yüklemesinin sonucunu IoT Hub gönderir.
function notifyBlobUploadStatus(correlationId: string, isSuccess: boolean, statusCode: number, statusDescription: string, callback?: ErrorCallback)
Parametreler
- correlationId
-
string
Karşıya yükleme durumunu belirli bir blobla ilişkilendirmek için bir kimlik. çağrısı getBlobSharedAccessSignature
sırasında oluşturulur.
- isSuccess
-
boolean
Depolama blobu işleminin sonucundaki başarı veya başarısızlık durumu.
- statusCode
-
number
Depolama blobu sonucuyla ilişkili HTTP durum kodu.
- statusDescription
-
string
HTTP durum kodunun açıklaması.
- callback
-
ErrorCallback
Karşıya yükleme tamamlandığında çağrı yapmak için isteğe bağlı geri arama.
onDeviceMethod(string, (request: DeviceMethodRequest, response: DeviceMethodResponse) => void)
adlı methodName
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
Adlı yöntem için bir yöntem isteği alındığında çağrılacak methodName
işlev.
setOptions(DeviceClientOptions)
function setOptions(options: DeviceClientOptions): Promise<TransportConfigured>
Parametreler
- options
- DeviceClientOptions
Döndürülenler
Promise<TransportConfigured>
setOptions(DeviceClientOptions, Callback<TransportConfigured>)
function setOptions(options: DeviceClientOptions, done: Callback<TransportConfigured>)
Parametreler
- options
- DeviceClientOptions
- done
-
Callback<TransportConfigured>
uploadToBlob(string, Stream, number)
function uploadToBlob(blobName: string, stream: Stream, streamLength: number): Promise<void>
Parametreler
- blobName
-
string
- stream
-
Stream
- streamLength
-
number
Döndürülenler
Promise<void>
uploadToBlob(string, Stream, number, ErrorCallback)
uploadToBlob
yöntemi bloba bir akış yükler.
function uploadToBlob(blobName: string, stream: Stream, streamLength: number, callback: ErrorCallback)
Parametreler
- blobName
-
string
Akışın içeriğiyle oluşturulacak blob için kullanılacak ad.
- stream
-
Stream
Buna ilişkin veriler bloba yüklenmelidir.
- streamLength
-
number
Bloba yüklenecek verilerin boyutu.
- callback
-
ErrorCallback
Devralınan Yöntemin Ayrıntıları
abandon(Message)
function abandon(message: Message): Promise<MessageAbandoned>
Parametreler
- message
- Message
Döndürülenler
Promise<MessageAbandoned>
Devralınan InternalClient.abandon
abandon(Message, Callback<MessageAbandoned>)
function abandon(message: Message, abandonCallback: Callback<MessageAbandoned>)
Parametreler
- message
- Message
- abandonCallback
-
Callback<MessageAbandoned>
Devralınan InternalClient.abandon
addAbortListener(AbortSignal, (event: Event) => void)
Sağlanan signal
üzerindeki olayı bir kez abort
dinler.
Durdurma sinyallerinde olayı dinlemek abort
güvenli değildir ve sinyale sahip başka bir üçüncü taraf çağırabileceğinden e.stopImmediatePropagation()
kaynak sızıntılarına yol açabilir. Ne yazık ki Node.js web standardını ihlal edeceğinden bunu değiştiremezsiniz. Ayrıca, özgün API dinleyicileri kaldırmayı unutmayı kolaylaştırır.
Bu API, dinleyicinin çalışmasını engellemeyen olayı stopImmediatePropagation
dinleyerek bu iki sorunu çözerek Node.js API'lerinde s'lerin güvenli bir şekilde kullanılmasına AbortSignal
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
Dinleyiciyi kaldıran atılabilir abort
.
Devralınan InternalClient.addAbortListener
addListener<K>(string | symbol, (args: any[]) => void)
için emitter.on(eventName, listener)
diğer ad.
function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Döndürülenler
Devralınan InternalClient.addListener
complete(Message)
function complete(message: Message): Promise<MessageCompleted>
Parametreler
- message
- Message
Döndürülenler
Promise<MessageCompleted>
Devralınan InternalClient.complete
complete(Message, Callback<MessageCompleted>)
function complete(message: Message, completeCallback: Callback<MessageCompleted>)
Parametreler
- message
- Message
- completeCallback
-
Callback<MessageCompleted>
Devralınan InternalClient.complete
emit<K>(string | symbol, AnyRest)
Adlı olayeventName
için kaydedilen dinleyicilerin her birini, kaydedildikleri sırayla zaman uyumlu olarak çağırır ve sağlanan bağımsız değişkenleri her birine geçirir.
Olayın dinleyicileri varsa, false
aksi takdirde döndürürtrue
.
import { EventEmitter } from 'node:events';
const myEmitter = new EventEmitter();
// First listener
myEmitter.on('event', function firstListener() {
console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
const parameters = args.join(', ');
console.log(`event with parameters ${parameters} in third listener`);
});
console.log(myEmitter.listeners('event'));
myEmitter.emit('event', 1, 2, 3, 4, 5);
// Prints:
// [
// [Function: firstListener],
// [Function: secondListener],
// [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener
function emit<K>(eventName: string | symbol, args: AnyRest): boolean
Parametreler
- eventName
-
string | symbol
- args
-
AnyRest
Döndürülenler
boolean
Devralınan InternalClient.emit
eventNames()
Vericinin dinleyicileri kaydettiği olayları listeleyen bir dizi döndürür. Dizideki değerler dize veya Symbol
değerlerdir.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => {});
myEE.on('bar', () => {});
const sym = Symbol('symbol');
myEE.on(sym, () => {});
console.log(myEE.eventNames());
// Prints: [ 'foo', 'bar', Symbol(symbol) ]
function eventNames(): (string | symbol)[]
Döndürülenler
(string | symbol)[]
Devralınan InternalClient.eventNames
getEventListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget, string | symbol)
adlı eventName
olay için dinleyici dizisinin bir kopyasını döndürür.
s için EventEmitter
bu, vericide çağırma .listeners
ile tam olarak aynı şekilde davranır.
için EventTarget
, olay hedefi için olay dinleyicilerini edinmenin tek yolu budur. Bu, hata ayıklama ve tanılama amacıyla kullanışlıdır.
import { getEventListeners, EventEmitter } from 'node:events';
{
const ee = new EventEmitter();
const listener = () => console.log('Events are fun');
ee.on('foo', listener);
console.log(getEventListeners(ee, 'foo')); // [ [Function: listener] ]
}
{
const et = new EventTarget();
const listener = () => console.log('Events are fun');
et.addEventListener('foo', listener);
console.log(getEventListeners(et, 'foo')); // [ [Function: listener] ]
}
static function getEventListeners(emitter: EventEmitter<DefaultEventMap> | _DOMEventTarget, name: string | symbol): Function[]
Parametreler
- emitter
-
EventEmitter<DefaultEventMap> | _DOMEventTarget
- name
-
string | symbol
Döndürülenler
Function[]
Devralınan InternalClient.getEventListeners
getMaxListeners()
defaultMaxListeners tarafından emitter.setMaxListeners(n)
ayarlanan veya varsayılan olarak ayarlanan geçerli en yüksek dinleyici değerini EventEmitter
döndürür.
function getMaxListeners(): number
Döndürülenler
number
Devralınan InternalClient.getMaxListeners
getMaxListeners(EventEmitter<DefaultEventMap> | _DOMEventTarget)
Şu anda ayarlanmış en fazla dinleyici miktarını döndürür.
s için EventEmitter
bu, vericide çağırma .getMaxListeners
ile tam olarak aynı şekilde davranır.
için EventTarget
bu, olay hedefi için en fazla olay dinleyicilerini edinmenin tek yoludur. Tek bir EventTarget üzerindeki olay işleyicilerinin sayısı maksimum kümeyi aşarsa, EventTarget bir uyarı yazdırır.
import { getMaxListeners, setMaxListeners, EventEmitter } from 'node:events';
{
const ee = new EventEmitter();
console.log(getMaxListeners(ee)); // 10
setMaxListeners(11, ee);
console.log(getMaxListeners(ee)); // 11
}
{
const et = new EventTarget();
console.log(getMaxListeners(et)); // 10
setMaxListeners(11, et);
console.log(getMaxListeners(et)); // 11
}
static function getMaxListeners(emitter: EventEmitter<DefaultEventMap> | _DOMEventTarget): number
Parametreler
- emitter
-
EventEmitter<DefaultEventMap> | _DOMEventTarget
Döndürülenler
number
Devralınan InternalClient.getMaxListeners
getTwin()
getTwin(Callback<Twin>)
function getTwin(done: Callback<Twin>)
Parametreler
- done
-
Callback<Twin>
Devralınan InternalClient.getTwin
listenerCount(EventEmitter<DefaultEventMap>, string | symbol)
Uyarı
Bu API artık kullanım dışıdır.
Since v3.2.0 - Use listenerCount
instead.
Verilen emitter
üzerinde kayıtlı verilen eventName
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
Devralınan InternalClient.listenerCount
listenerCount<K>(string | symbol, Function)
adlı eventName
olayı dinleyen dinleyici sayısını döndürür.
Sağlanırsa listener
, dinleyicinin olay dinleyicileri listesinde kaç kez bulunduğunu döndürür.
function listenerCount<K>(eventName: string | symbol, listener?: Function): number
Parametreler
- eventName
-
string | symbol
Dinlenen olayın adı
- listener
-
Function
Olay işleyici işlevi
Döndürülenler
number
Devralınan InternalClient.listenerCount
listeners<K>(string | symbol)
adlı eventName
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[]
Devralınan InternalClient.listeners
off<K>(string | symbol, (args: any[]) => void)
için emitter.removeListener()
diğer ad.
function off<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Döndürülenler
Devralınan InternalClient.off
on(EventEmitter<DefaultEventMap>, string, StaticEventEmitterOptions)
import { on, EventEmitter } from 'node:events';
import process from 'node:process';
const ee = new EventEmitter();
// Emit later on
process.nextTick(() => {
ee.emit('foo', 'bar');
ee.emit('foo', 42);
});
for await (const event of on(ee, 'foo')) {
// The execution of this inner block is synchronous and it
// processes one event at a time (even with await). Do not use
// if concurrent execution is required.
console.log(event); // prints ['bar'] [42]
}
// Unreachable here
Olayları yineleyen eventName
bir AsyncIterator
döndürür. yayarsa EventEmitter
'error'
atar. Döngüden çıkarken tüm dinleyicileri kaldırır. value
Her yineleme tarafından döndürülen, yayılan olay bağımsız değişkenlerinden oluşan bir dizidir.
, AbortSignal
olayları beklemeyi iptal etmek için kullanılabilir:
import { on, EventEmitter } from 'node:events';
import process from 'node:process';
const ac = new AbortController();
(async () => {
const ee = new EventEmitter();
// Emit later on
process.nextTick(() => {
ee.emit('foo', 'bar');
ee.emit('foo', 42);
});
for await (const event of on(ee, 'foo', { signal: ac.signal })) {
// The execution of this inner block is synchronous and it
// processes one event at a time (even with await). Do not use
// if concurrent execution is required.
console.log(event); // prints ['bar'] [42]
}
// Unreachable here
})();
process.nextTick(() => ac.abort());
static function on(emitter: EventEmitter<DefaultEventMap>, eventName: string, options?: StaticEventEmitterOptions): AsyncIterableIterator<any>
Parametreler
- emitter
-
EventEmitter<DefaultEventMap>
- eventName
-
string
Dinlenen olayın adı
- options
-
StaticEventEmitterOptions
Döndürülenler
AsyncIterableIterator<any>
tarafından yayılan olayları yineleyen eventName
emitter
Devralınan InternalClient.on
on<K>(string | symbol, (args: any[]) => void)
listener
adlı eventName
olay için işlevi dinleyiciler dizisinin sonuna ekler. öğesinin zaten eklenip eklenmediğini listener
görmek için denetim yapılmaz. aynı ve birleşimini eventName
listener
geçen birden çok çağrı, birden çok kez eklenmesine ve çağrılmasını listener
sağlar.
server.on('connection', (stream) => {
console.log('someone connected!');
});
Çağrıların EventEmitter
zincirlenebilmesi için öğesine bir başvuru döndürür.
Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır. yöntemi,emitter.prependListener()
olay dinleyicisini dinleyici dizisinin başına eklemek için alternatif olarak kullanılabilir.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.on('foo', () => console.log('a'));
myEE.prependListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a
function on<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
Olayın adı.
- listener
-
(args: any[]) => void
Geri çağırma işlevi
Döndürülenler
Devralınan InternalClient.on
once(EventEmitter<DefaultEventMap>, string | symbol, StaticEventEmitterOptions)
Belirtilen olayı yaydığında EventEmitter
yerine getiren veya beklerken yaydığında 'error'
reddedilen EventEmitter
bir Promise
oluşturur.
, Promise
verilen olaya yayılan tüm bağımsız değişkenlerin bir dizisiyle çözülür.
Bu yöntem kasıtlı olarak geneldir ve özel'error'
olay semantiği olmayan ve olayı dinlemeyen 'error'
web platformu EventTarget arabirimiyle çalışır.
import { once, EventEmitter } from 'node:events';
import process from 'node:process';
const ee = new EventEmitter();
process.nextTick(() => {
ee.emit('myevent', 42);
});
const [value] = await once(ee, 'myevent');
console.log(value);
const err = new Error('kaboom');
process.nextTick(() => {
ee.emit('error', err);
});
try {
await once(ee, 'myevent');
} catch (err) {
console.error('error happened', err);
}
Olayın özel işlemesi 'error'
yalnızca başka bir olayı beklemek için kullanıldığında kullanılır events.once()
. 'error'
olayının kendisini beklemek için kullanılırsaevents.once()
, özel işleme olmadan başka bir olay türü olarak değerlendirilir:
import { EventEmitter, once } from 'node:events';
const ee = new EventEmitter();
once(ee, 'error')
.then(([err]) => console.log('ok', err.message))
.catch((err) => console.error('error', err.message));
ee.emit('error', new Error('boom'));
// Prints: ok boom
, AbortSignal
olayı beklemeyi iptal etmek için kullanılabilir:
import { EventEmitter, once } from 'node:events';
const ee = new EventEmitter();
const ac = new AbortController();
async function foo(emitter, event, signal) {
try {
await once(emitter, event, { signal });
console.log('event emitted!');
} catch (error) {
if (error.name === 'AbortError') {
console.error('Waiting for the event was canceled!');
} else {
console.error('There was an error', error.message);
}
}
}
foo(ee, 'foo', ac.signal);
ac.abort(); // Abort waiting for the event
ee.emit('foo'); // Prints: Waiting for the event was canceled!
static function once(emitter: EventEmitter<DefaultEventMap>, eventName: string | symbol, options?: StaticEventEmitterOptions): Promise<any[]>
Parametreler
- emitter
-
EventEmitter<DefaultEventMap>
- eventName
-
string | symbol
- options
-
StaticEventEmitterOptions
Döndürülenler
Promise<any[]>
Devralınan InternalClient.once
once(_DOMEventTarget, string, StaticEventEmitterOptions)
static function once(emitter: _DOMEventTarget, eventName: string, options?: StaticEventEmitterOptions): Promise<any[]>
Parametreler
- emitter
-
_DOMEventTarget
- eventName
-
string
- options
-
StaticEventEmitterOptions
Döndürülenler
Promise<any[]>
Devralınan InternalClient.once
once<K>(string | symbol, (args: any[]) => void)
adlı eventName
olay için tek seferliklistener
bir işlev ekler. Bir sonraki tetiklendiğinde eventName
, bu dinleyici kaldırılır ve sonra çağrılır.
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Çağrıların EventEmitter
zincirlenebilmesi için öğesine bir başvuru döndürür.
Varsayılan olarak, olay dinleyicileri eklendikleri sırayla çağrılır. yöntemi,emitter.prependOnceListener()
olay dinleyicisini dinleyici dizisinin başına eklemek için alternatif olarak kullanılabilir.
import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
// b
// a
function once<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
Olayın adı.
- listener
-
(args: any[]) => void
Geri çağırma işlevi
Döndürülenler
Devralınan InternalClient.once
open()
function open(): Promise<Connected>
Döndürülenler
Promise<Connected>
Devralınan InternalClient.open
open(Callback<Connected>)
function open(openCallback: Callback<Connected>)
Parametreler
- openCallback
-
Callback<Connected>
Devralınan InternalClient.open
prependListener<K>(string | symbol, (args: any[]) => void)
listener
adlı eventName
olay için işlevi dinleyiciler dizisinin başına ekler. öğesinin zaten eklenip eklenmediğini listener
görmek için denetim yapılmaz. aynı ve birleşimini eventName
listener
geçen birden çok çağrı, birden çok kez eklenmesine ve çağrılmasını listener
sağlar.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Çağrıların EventEmitter
zincirlenebilmesi için öğesine bir başvuru döndürür.
function prependListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
Olayın adı.
- listener
-
(args: any[]) => void
Geri çağırma işlevi
Döndürülenler
Devralınan InternalClient.prependListener
prependOnceListener<K>(string | symbol, (args: any[]) => void)
adlı olay eventName
için dinleyiciler dizisinin başınatek seferliklistener
bir işlev ekler. Bir sonraki tetiklendiğinde eventName
, bu dinleyici kaldırılır ve ardından çağrılır.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Çağrıların EventEmitter
zincirlenebilmesi için öğesine bir başvuru döndürür.
function prependOnceListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
Olayın adı.
- listener
-
(args: any[]) => void
Geri çağırma işlevi
Döndürülenler
Devralınan InternalClient.prependOnceListener
rawListeners<K>(string | symbol)
adlı eventName
olay için dinleyici dizisinin, sarmalayıcılar da dahil olmak üzere bir kopyasını döndürür (örneğin, tarafından .once()
oluşturulanlar).
import { EventEmitter } from 'node:events';
const emitter = new EventEmitter();
emitter.once('log', () => console.log('log once'));
// Returns a new Array with a function `onceWrapper` which has a property
// `listener` which contains the original listener bound above
const listeners = emitter.rawListeners('log');
const logFnWrapper = listeners[0];
// Logs "log once" to the console and does not unbind the `once` event
logFnWrapper.listener();
// Logs "log once" to the console and removes the listener
logFnWrapper();
emitter.on('log', () => console.log('log persistently'));
// Will return a new Array with a single function bound by `.on()` above
const newListeners = emitter.rawListeners('log');
// Logs "log persistently" twice
newListeners[0]();
emitter.emit('log');
function rawListeners<K>(eventName: string | symbol): Function[]
Parametreler
- eventName
-
string | symbol
Döndürülenler
Function[]
Devralınan InternalClient.rawListeners
reject(Message)
function reject(message: Message): Promise<MessageRejected>
Parametreler
- message
- Message
Döndürülenler
Promise<MessageRejected>
Devralınan InternalClient.reject
reject(Message, Callback<MessageRejected>)
function reject(message: Message, rejectCallback: Callback<MessageRejected>)
Parametreler
- message
- Message
- rejectCallback
-
Callback<MessageRejected>
Devralınan InternalClient.reject
removeAllListeners(string | symbol)
Tüm dinleyicileri veya belirtilen eventName
dinleyicileri kaldırır.
Özellikle örnek başka bir bileşen veya modül (örneğin yuvalar veya dosya akışları) tarafından oluşturulduğunda kodun EventEmitter
başka bir yerine eklenen dinleyicileri kaldırmak kötü bir uygulamadır.
Çağrıların EventEmitter
zincirlenebilmesi için öğesine bir başvuru döndürür.
function removeAllListeners(eventName?: string | symbol): Client
Parametreler
- eventName
-
string | symbol
Döndürülenler
Devralınan InternalClient.removeAllListeners
removeListener<K>(string | symbol, (args: any[]) => void)
adlıeventName
olay için belirtilen listener
öğesini dinleyici dizisinden kaldırır.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
en fazla bir dinleyici örneğini dinleyici dizisinden kaldırır. Belirtilen eventName
removeListener()
için dinleyici dizisine birden çok kez tek bir dinleyici eklendiyse, her örneği kaldırmak için birden çok kez çağrılmalıdır.
Bir olay yayımlandıktan sonra, yayma sırasında ona eklenen tüm dinleyiciler sırayla çağrılır. Bu, yadıktan sonra ve son dinleyici yürütmeyi bitirmeden önce yapılan veyaremoveListener()
removeAllListeners()
çağrılarının devam edendenemit()
kaldırılmayacağını gösterir. Sonraki olaylar beklendiği gibi davranır.
import { EventEmitter } from 'node:events';
class MyEmitter extends EventEmitter {}
const myEmitter = new MyEmitter();
const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};
const callbackB = () => {
console.log('B');
};
myEmitter.on('event', callbackA);
myEmitter.on('event', callbackB);
// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B
// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// A
Dinleyiciler bir iç dizi kullanılarak yönetildiğinden, bu çağrı, dinleyici kaldırıldıktan sonra kaydedilen herhangi bir dinleyicinin konum dizinlerini değiştirir. Bu, dinleyicilerin çağrılma sırasını etkilemez, ancak yöntemi tarafından emitter.listeners()
döndürülen dinleyici dizisinin kopyalarının yeniden oluşturulması gerektiği anlamına gelir.
Tek bir işlev tek bir olay için birden çok kez işleyici olarak eklendiğinde (aşağıdaki örnekte olduğu gibi), removeListener()
en son eklenen örneği kaldırır. once('ping')
Örnekte dinleyici kaldırılır:
import { EventEmitter } from 'node:events';
const ee = new EventEmitter();
function pong() {
console.log('pong');
}
ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);
ee.emit('ping');
ee.emit('ping');
Çağrıların EventEmitter
zincirlenebilmesi için öğesine bir başvuru döndürür.
function removeListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Client
Parametreler
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
Döndürülenler
Devralınan InternalClient.removeListener
sendEvent(Message)
function sendEvent(message: Message): Promise<MessageEnqueued>
Parametreler
- message
- Message
Döndürülenler
Promise<MessageEnqueued>
Devralınan InternalClient.sendEvent
sendEvent(Message, Callback<MessageEnqueued>)
function sendEvent(message: Message, sendEventCallback: Callback<MessageEnqueued>)
Parametreler
- message
- Message
- sendEventCallback
-
Callback<MessageEnqueued>
Devralınan InternalClient.sendEvent
sendEventBatch(Message[])
function sendEventBatch(messages: Message[]): Promise<MessageEnqueued>
Parametreler
- messages
-
Message[]
Döndürülenler
Promise<MessageEnqueued>
Devralınan InternalClient.sendEventBatch
sendEventBatch(Message[], Callback<MessageEnqueued>)
function sendEventBatch(messages: Message[], sendEventBatchCallback: Callback<MessageEnqueued>)
Parametreler
- messages
-
Message[]
- sendEventBatchCallback
-
Callback<MessageEnqueued>
Devralınan InternalClient.sendEventBatch
setMaxListeners(number)
Varsayılan olarak EventEmitter
, belirli bir olay için birden fazla 10
dinleyici eklenirse s bir uyarı yazdırır. Bu, bellek sızıntılarını bulmaya yardımcı olan kullanışlı bir varsayılan değerdir. yöntemi, emitter.setMaxListeners()
bu belirli EventEmitter
örnek için sınırın değiştirilmesine izin verir. Sınırsız sayıda dinleyiciyi belirtmek için değer (veya 0
) olarak ayarlanabilirInfinity
.
Çağrıların EventEmitter
zincirlenebilmesi için öğesine bir başvuru döndürür.
function setMaxListeners(n: number): Client
Parametreler
- n
-
number
Döndürülenler
Devralınan InternalClient.setMaxListeners
setMaxListeners(number, (EventEmitter<DefaultEventMap> | _DOMEventTarget)[])
import { setMaxListeners, EventEmitter } from 'node:events';
const target = new EventTarget();
const emitter = new EventEmitter();
setMaxListeners(5, target, emitter);
static function setMaxListeners(n?: number, eventTargets: (EventEmitter<DefaultEventMap> | _DOMEventTarget)[])
Parametreler
- n
-
number
Negatif olmayan bir sayı. Olay başına EventTarget
en fazla dinleyici sayısı.
- eventTargets
-
(EventEmitter<DefaultEventMap> | _DOMEventTarget)[]
Devralınan InternalClient.setMaxListeners
setRetryPolicy(RetryPolicy)
İstemci tarafından tüm işlemlerde kullanılan yeniden deneme ilkesini ayarlar. Varsayılan değer ExponentialBackoffWithJitter'dır.
function setRetryPolicy(policy: RetryPolicy)
Parametreler
- policy
-
RetryPolicy
{RetryPolicy} Gelecekteki tüm işlemler için kullanılması gereken yeniden deneme ilkesi.
Devralınan InternalClient.setRetryPolicy
setTransportOptions(any)
function setTransportOptions(options: any): Promise<TransportConfigured>
Parametreler
- options
-
any
Döndürülenler
Promise<TransportConfigured>
Devralınan InternalClient.setTransportOptions
setTransportOptions(any, Callback<TransportConfigured>)
function setTransportOptions(options: any, done: Callback<TransportConfigured>)
Parametreler
- options
-
any
- done
-
Callback<TransportConfigured>
Devralınan InternalClient.setTransportOptions
updateSharedAccessSignature(string, Callback<SharedAccessSignatureUpdated>)
function updateSharedAccessSignature(sharedAccessSignature: string, updateSasCallback?: Callback<SharedAccessSignatureUpdated>)
Parametreler
- sharedAccessSignature
-
string
- updateSasCallback
-
Callback<SharedAccessSignatureUpdated>
Devralınan InternalClient.updateSharedAccessSignature
[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)
function [captureRejectionSymbol]<K>(error: Error, event: string | symbol, args: AnyRest)
Parametreler
- error
-
Error
- event
-
string | symbol
- args
-
AnyRest
Devralınan InternalClient.__@captureRejectionSymbol@138