DeviceTransport interface
- Extends
-
EventEmitter
方法
繼承的方法
add |
的 |
emit<K>(string | symbol, Any |
以註冊的順序,同步呼叫針對名為 如果事件具有接聽程式,則傳回
|
event |
傳回數位,列出發出器已註冊接聽程式的事件。 陣列中的值為字串或
|
get |
傳回 |
listener |
傳回接聽名為 |
listeners<K>(string | symbol) | 針對名為
|
off<K>(string | symbol, (args: any[]) => void) | 的 |
once<K>(string | symbol, (args: any[]) => void) | 為名為 的事件新增
傳回 根據預設,事件接聽程式會依新增的順序叫用。
|
prepend |
針對名為
傳回 |
prepend |
針對名為
傳回 |
raw |
針對名為
|
remove |
拿掉所有接聽程式,或指定之 拿掉程式代碼中其他位置新增的接聽程式是錯誤的作法,特別是當 傳回 |
remove |
從名為
一旦發出事件,就會依序呼叫發出時附加至它的所有接聽程式。 這表示在 發出和
由於接聽程式是使用內部數位進行管理,因此呼叫這會在移除接聽程式 之後,變更任何已註冊 當單一函式新增為單一事件的處理程式多次時(如下列範例所示),
傳回 |
set |
根據預設,如果特定事件新增了超過 傳回 |
[capture |
方法詳細資料
abandon(Message, (err?: Error, results?: MessageAbandoned) => void)
function abandon(message: Message, done: (err?: Error, results?: MessageAbandoned) => void)
參數
- message
- Message
- done
-
(err?: Error, results?: MessageAbandoned) => void
complete(Message, (err?: Error, result?: MessageCompleted) => void)
function complete(message: Message, done: (err?: Error, result?: MessageCompleted) => void)
參數
- message
- Message
- done
-
(err?: Error, result?: MessageCompleted) => void
connect((err?: Error, result?: Connected) => void)
function connect(done: (err?: Error, result?: Connected) => void)
參數
- done
-
(err?: Error, result?: Connected) => void
disableC2D((err?: Error) => void)
function disableC2D(callback: (err?: Error) => void)
參數
- callback
-
(err?: Error) => void
disableInputMessages((err?: Error) => void)
function disableInputMessages(callback: (err?: Error) => void)
參數
- callback
-
(err?: Error) => void
disableMethods((err?: Error) => void)
function disableMethods(callback: (err?: Error) => void)
參數
- callback
-
(err?: Error) => void
disableTwinDesiredPropertiesUpdates((err?: Error) => void)
function disableTwinDesiredPropertiesUpdates(callback: (err?: Error) => void)
參數
- callback
-
(err?: Error) => void
disconnect((err?: Error, result?: Disconnected) => void)
function disconnect(done: (err?: Error, result?: Disconnected) => void)
參數
- done
-
(err?: Error, result?: Disconnected) => void
enableC2D((err?: Error) => void)
function enableC2D(callback: (err?: Error) => void)
參數
- callback
-
(err?: Error) => void
enableInputMessages((err?: Error) => void)
function enableInputMessages(callback: (err?: Error) => void)
參數
- callback
-
(err?: Error) => void
enableMethods((err?: Error) => void)
function enableMethods(callback: (err?: Error) => void)
參數
- callback
-
(err?: Error) => void
enableTwinDesiredPropertiesUpdates((err?: Error) => void)
function enableTwinDesiredPropertiesUpdates(callback: (err?: Error) => void)
參數
- callback
-
(err?: Error) => void
getTwin((err?: Error, twin?: TwinProperties) => void)
function getTwin(callback: (err?: Error, twin?: TwinProperties) => void)
參數
- callback
-
(err?: Error, twin?: TwinProperties) => void
on("connected", () => void)
function on(type: "connected", func: () => void): DeviceTransport
參數
- type
-
"connected"
- func
-
() => void
傳回
on("disconnect", (err?: Error) => void)
function on(type: "disconnect", func: (err?: Error) => void): DeviceTransport
參數
- type
-
"disconnect"
- func
-
(err?: Error) => void
傳回
on("error", (err: Error) => void)
function on(type: "error", func: (err: Error) => void): DeviceTransport
參數
- type
-
"error"
- func
-
(err: Error) => void
傳回
on("inputMessage", (inputName: string, msg: Message) => void)
function on(type: "inputMessage", func: (inputName: string, msg: Message) => void): DeviceTransport
參數
- type
-
"inputMessage"
- func
-
(inputName: string, msg: Message) => void
傳回
on("message", (msg: Message) => void)
function on(type: "message", func: (msg: Message) => void): DeviceTransport
參數
- type
-
"message"
- func
-
(msg: Message) => void
傳回
on("twinDesiredPropertiesUpdate", (desiredProps: any) => void)
function on(type: "twinDesiredPropertiesUpdate", func: (desiredProps: any) => void): DeviceTransport
參數
- type
-
"twinDesiredPropertiesUpdate"
- func
-
(desiredProps: any) => void
傳回
onDeviceMethod(string, (request: MethodMessage, response: DeviceMethodResponse) => void)
function onDeviceMethod(methodName: string, methodCallback: (request: MethodMessage, response: DeviceMethodResponse) => void)
參數
- methodName
-
string
- methodCallback
-
(request: MethodMessage, response: DeviceMethodResponse) => void
reject(Message, (err?: Error, results?: MessageRejected) => void)
function reject(message: Message, done: (err?: Error, results?: MessageRejected) => void)
參數
- message
- Message
- done
-
(err?: Error, results?: MessageRejected) => void
sendEvent(Message, (err?: Error, result?: MessageEnqueued) => void)
function sendEvent(message: Message, done: (err?: Error, result?: MessageEnqueued) => void)
參數
- message
- Message
- done
-
(err?: Error, result?: MessageEnqueued) => void
sendEventBatch(Message[], (err?: Error, result?: MessageEnqueued) => void)
function sendEventBatch(messages: Message[], done: (err?: Error, result?: MessageEnqueued) => void)
參數
- messages
-
Message[]
- done
-
(err?: Error, result?: MessageEnqueued) => void
sendMethodResponse(DeviceMethodResponse, (err?: Error, result?: any) => void)
function sendMethodResponse(response: DeviceMethodResponse, done?: (err?: Error, result?: any) => void)
參數
- response
- DeviceMethodResponse
- done
-
(err?: Error, result?: any) => void
sendOutputEvent(string, Message, (err?: Error, result?: MessageEnqueued) => void)
function sendOutputEvent(outputName: string, message: Message, done: (err?: Error, result?: MessageEnqueued) => void)
參數
- outputName
-
string
- message
- Message
- done
-
(err?: Error, result?: MessageEnqueued) => void
sendOutputEventBatch(string, Message[], (err?: Error, result?: MessageEnqueued) => void)
function sendOutputEventBatch(outputName: string, messages: Message[], done: (err?: Error, result?: MessageEnqueued) => void)
參數
- outputName
-
string
- messages
-
Message[]
- done
-
(err?: Error, result?: MessageEnqueued) => void
setOptions(DeviceClientOptions, (err?: Error, result?: TransportConfigured) => void)
function setOptions(options: DeviceClientOptions, done: (err?: Error, result?: TransportConfigured) => void)
參數
- options
- DeviceClientOptions
- done
-
(err?: Error, result?: TransportConfigured) => void
updateSharedAccessSignature(string, (err?: Error, result?: SharedAccessSignatureUpdated) => void)
function updateSharedAccessSignature(sharedAccessSignature: string, done: (err?: Error, result?: SharedAccessSignatureUpdated) => void)
參數
- sharedAccessSignature
-
string
- done
-
(err?: Error, result?: SharedAccessSignatureUpdated) => void
updateTwinReportedProperties(any, (err?: Error) => void)
function updateTwinReportedProperties(patch: any, callback: (err?: Error) => void)
參數
- patch
-
any
- callback
-
(err?: Error) => void
繼承的方法的詳細資料
addListener<K>(string | symbol, (args: any[]) => void)
的 emitter.on(eventName, listener)
別名。
function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): DeviceTransport
參數
- 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): DeviceTransport
參數
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
傳回
繼承自 EventEmitter.off
once<K>(string | symbol, (args: any[]) => void)
為名為 的事件新增 listener
eventName
函式。 下次觸發 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): DeviceTransport
參數
- eventName
-
string | symbol
事件的名稱。
- listener
-
(args: any[]) => void
回調函式
傳回
繼承自 EventEmitter.once
prependListener<K>(string | symbol, (args: any[]) => void)
針對名為 listener
的事件,將 函式加入至接聽程式陣列的 eventName
。 不會進行檢查,以查看是否已新增 listener
。 多個呼叫傳遞相同組合的 eventName
和 listener
會導致新增和呼叫 listener
多次。
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
傳回 EventEmitter
的參考,以便可以鏈結呼叫。
function prependListener<K>(eventName: string | symbol, listener: (args: any[]) => void): DeviceTransport
參數
- eventName
-
string | symbol
事件的名稱。
- listener
-
(args: any[]) => void
回調函式
傳回
繼承自 EventEmitter.prependListener
prependOnceListener<K>(string | symbol, (args: any[]) => void)
針對名為 eventName
時,會移除此接聽程式,然後叫用。
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
傳回 EventEmitter
的參考,以便可以鏈結呼叫。
function prependOnceListener<K>(eventName: string | symbol, listener: (args: any[]) => void): DeviceTransport
參數
- 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): DeviceTransport
參數
- eventName
-
string | symbol
傳回
繼承自 EventEmitter.removeAllListeners
removeListener<K>(string | symbol, (args: any[]) => void)
從名為 listener
的事件接聽程式數位中移除指定的 eventName
。
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
最多會從接聽程式數位中移除一個接聽程序的實例。 如果指定的 eventName
已將任何單一接聽程式多次新增至接聽程式陣列,則必須呼叫 removeListener()
多次,才能移除每個實例。
一旦發出事件,就會依序呼叫發出時附加至它的所有接聽程式。 這表示在 發出和
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): DeviceTransport
參數
- eventName
-
string | symbol
- listener
-
(args: any[]) => void
傳回
繼承自 EventEmitter.removeListener
setMaxListeners(number)
根據預設,如果特定事件新增了超過 EventEmitter
接聽程式,10
會列印警告。 這是有助於尋找記憶體流失的實用預設值。
emitter.setMaxListeners()
方法允許修改這個特定 EventEmitter
實例的限制。 值可以設定為 Infinity
(或 0
),表示不限數目的接聽程式。
傳回 EventEmitter
的參考,以便可以鏈結呼叫。
function setMaxListeners(n: number): DeviceTransport
參數
- 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@141