你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Transport interface
- Extends
-
EventEmitter
方法
继承的方法
add |
|
emit<K>(string | symbol, Any |
按照注册顺序同步调用为名为
|
event |
返回一个数组,其中列出了发射器为其注册了侦听器的事件。 数组中的值为字符串或
|
get |
返回 的当前最大侦听器值, |
listener |
返回侦听名为 |
listeners<K>(string | symbol) | 返回名为
|
off<K>(string | symbol, (args: any[]) => void) |
|
on<K>(string | symbol, (args: any[]) => void) | 将
返回对 的引用, 默认情况下,事件侦听器按添加顺序调用。 方法
|
once<K>(string | symbol, (args: any[]) => void) | 为名为
返回对 的引用, 默认情况下,事件侦听器按添加顺序调用。 方法
|
prepend |
将
返回对 的引用, |
prepend |
将名为
返回对 的引用, |
raw |
返回名为
|
remove |
删除所有侦听器或指定 删除代码中其他位置添加的侦听器是错误的,尤其是当 返回对 的引用, |
remove |
从名为
发出事件后,将按顺序调用发出时附加到该事件的所有侦听器。 这意味着发出后和最后一个侦听器完成执行之前的任何
由于侦听器是使用内部数组管理的,因此调用此方法将更改删除侦听器 后 注册的任何侦听器的位置索引。 这不会影响调用侦听器的顺序,但这意味着需要重新创建方法返回 如果已多次将单个函数添加为单个事件的处理程序, (如下面的示例) 所示,
返回对 的引用, |
set |
默认情况下 返回对 的引用, |
[capture |
方法详细信息
connect(Callback<Connected>)
function connect(done?: Callback<Connected>)
参数
- done
-
Callback<Connected>
disconnect(Callback<Disconnected>)
function disconnect(done: Callback<Disconnected>)
参数
- done
-
Callback<Disconnected>
getFeedbackReceiver(Callback<ServiceReceiver>)
getFileNotificationReceiver(Callback<ServiceReceiver>)
function getFileNotificationReceiver(done: Callback<ServiceReceiver>)
参数
- done
-
Callback<ServiceReceiver>
send(string, Message, Callback<MessageEnqueued>)
function send(deviceId: string, message: Message, done?: Callback<MessageEnqueued>)
参数
- deviceId
-
string
- message
-
Message
- done
-
Callback<MessageEnqueued>
继承的方法详细信息
addListener<K>(string | symbol, (args: any[]) => void)
emitter.on(eventName, listener)
的别名。
function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Transport
参数
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
返回
继承自 EventEmitter.addListener
emit<K>(string | symbol, AnyRest)
按照注册顺序同步调用为名为 eventName
的事件注册的每个侦听器,并将提供的参数传递给每个侦听器。
true
如果事件有侦听器,则返回 ;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
参数
- eventName
-
string | symbol
- args
-
AnyRest
返回
boolean
继承自 EventEmitter.emit
eventNames()
返回一个数组,其中列出了发射器为其注册了侦听器的事件。 数组中的值为字符串或 Symbol
s。
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)[]
返回
(string | symbol)[]
继承自 EventEmitter.eventNames
getMaxListeners()
返回 的当前最大侦听器值, EventEmitter
该值由 emitter.setMaxListeners(n)
设置或默认为 defaultMaxListeners。
function getMaxListeners(): number
返回
number
继承自 EventEmitter.getMaxListeners
listenerCount<K>(string | symbol, Function)
返回侦听名为 eventName
的事件的侦听器数。
如果 listener
提供 ,它将返回在事件的侦听器列表中找到侦听器的次数。
function listenerCount<K>(eventName: string | symbol, listener?: Function): number
参数
- eventName
-
string | symbol
正在侦听的事件的名称
- listener
-
Function
事件处理程序函数
返回
number
继承自 EventEmitter.listenerCount
listeners<K>(string | symbol)
返回名为 eventName
的事件的侦听器数组的副本。
server.on('connection', (stream) => {
console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]
function listeners<K>(eventName: string | symbol): Function[]
参数
- eventName
-
string | symbol
返回
Function[]
继承自 EventEmitter.listeners
off<K>(string | symbol, (args: any[]) => void)
emitter.removeListener()
的别名。
function off<K>(eventName: string | symbol, listener: (args: any[]) => void): Transport
参数
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
返回
继承自 EventEmitter.off
on<K>(string | symbol, (args: any[]) => void)
将 listener
函数添加到名为 eventName
的事件的侦听器数组的末尾。 不会检查是否已 listener
添加 。 传递 和 listener
的相同组合的eventName
多个调用将导致listener
多次添加和调用 。
server.on('connection', (stream) => {
console.log('someone connected!');
});
返回对 的引用, EventEmitter
以便可以链接调用。
默认情况下,事件侦听器按添加顺序调用。 方法 emitter.prependListener()
可用作将事件侦听器添加到侦听器数组开头的替代方法。
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): Transport
参数
- eventName
-
string | symbol
事件的名称。
- listener
-
(args: any[]) => void
回调函数
返回
继承自 EventEmitter.on
once<K>(string | symbol, (args: any[]) => void)
为名为 eventName
的事件添加一次性listener
函数。 下次触发时 eventName
,会删除此侦听器,然后调用。
server.once('connection', (stream) => {
console.log('Ah, we have our first user!');
});
返回对 的引用, EventEmitter
以便可以链接调用。
默认情况下,事件侦听器按添加顺序调用。 方法 emitter.prependOnceListener()
可用作将事件侦听器添加到侦听器数组开头的替代方法。
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): Transport
参数
- eventName
-
string | symbol
事件的名称。
- listener
-
(args: any[]) => void
回调函数
返回
继承自 EventEmitter.once
prependListener<K>(string | symbol, (args: any[]) => void)
将 listener
函数添加到名为 eventName
的事件的侦听器数组的开头。 不会检查是否已 listener
添加 。 传递 和 listener
的相同组合的eventName
多个调用将导致listener
多次添加和调用 。
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
返回对 的引用, EventEmitter
以便可以链接调用。
function prependListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Transport
参数
- eventName
-
string | symbol
事件的名称。
- listener
-
(args: any[]) => void
回调函数
返回
继承自 EventEmitter.prependListener
prependOnceListener<K>(string | symbol, (args: any[]) => void)
将名为 eventName
的事件的一次性listener
函数添加到侦听器数组的开头。 下次 eventName
触发时,会删除此侦听器,然后调用。
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
返回对 的引用, EventEmitter
以便可以链接调用。
function prependOnceListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Transport
参数
- eventName
-
string | symbol
事件的名称。
- listener
-
(args: any[]) => void
回调函数
返回
继承自 EventEmitter.prependOnceListener
rawListeners<K>(string | symbol)
返回名为 eventName
的事件的侦听器数组的副本,包括任何包装器 (,例如由) 创建的 .once()
包装器。
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[]
参数
- eventName
-
string | symbol
返回
Function[]
继承自 EventEmitter.rawListeners
removeAllListeners(string | symbol)
删除所有侦听器或指定 eventName
的侦听器。
删除代码中其他位置添加的侦听器是错误的,尤其是当 EventEmitter
实例是由某些其他组件或模块 ((例如套接字或文件流) )创建的。
返回对 的引用, EventEmitter
以便可以链接调用。
function removeAllListeners(eventName?: string | symbol): Transport
参数
- eventName
-
string | symbol
返回
继承自 EventEmitter.removeAllListeners
removeListener<K>(string | symbol, (args: any[]) => void)
从名为 eventName
的事件的侦听器数组中删除指定的 listener
。
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
最多会从侦听器数组中删除侦听器的一个实例。 如果已多次将任何单个侦听器添加到指定 eventName
的侦听器数组中,则必须 removeListener()
多次调用 以删除每个实例。
发出事件后,将按顺序调用发出时附加到该事件的所有侦听器。 这意味着发出后和最后一个侦听器完成执行之前的任何 removeListener()
或 removeAllListeners()
调用都不会将其从emit()
正在进行的中删除。 后续事件的行为符合预期。
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
由于侦听器是使用内部数组管理的,因此调用此方法将更改删除侦听器 后 注册的任何侦听器的位置索引。 这不会影响调用侦听器的顺序,但这意味着需要重新创建方法返回 emitter.listeners()
的侦听器数组的任何副本。
如果已多次将单个函数添加为单个事件的处理程序, (如下面的示例) 所示, removeListener()
将删除最近添加的实例。 在示例中, once('ping')
删除了侦听器:
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');
返回对 的引用, EventEmitter
以便可以链接调用。
function removeListener<K>(eventName: string | symbol, listener: (args: any[]) => void): Transport
参数
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
返回
继承自 EventEmitter.removeListener
setMaxListeners(number)
默认情况下 EventEmitter
,如果为特定事件添加了多个 10
侦听器,则会打印警告。 这是一个有用的默认值,可帮助查找内存泄漏。 方法 emitter.setMaxListeners()
允许修改此特定 EventEmitter
实例的限制。 该值可以设置为 Infinity
(或 0
) ,以指示无限数量的侦听器。
返回对 的引用, EventEmitter
以便可以链接调用。
function setMaxListeners(n: number): Transport
参数
- n
-
number
返回
继承自 EventEmitter.setMaxListeners
[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)
function [captureRejectionSymbol]<K>(error: Error, event: string | symbol, args: AnyRest)
参数
- error
-
Error
- event
-
string | symbol
- args
-
AnyRest
继承自 EventEmitter.__@captureRejectionSymbol@115