import diagnostics from "node:diagnostics_channel";
const channel = diagnostics.channel("app.request");
const receive = (message, name) => console.log(name, message);
channel.subscribe(receive);
channel.publish({ path: "/" });
channel.unsubscribe(receive);تعيد الاستدعاءات المتكررة لـ channel(name) الكائن Channel نفسه. وتصدّر الوحدة أيضًا
hasSubscribers وsubscribe وunsubscribe وtracingChannel
وChannel، وامتدادَي Elide boundedChannel وBoundedChannel.
تدعم القنوات bindStore وunbindStore وrunStores، لكن سلوك المخازن
يرث الانتشار الجزئي لسياق التنفيذ غير المتزامن الموصوف في
node:async_hooks.
Reference
Status: Full · 42 of 67 suite tests pass (62.7%) · since 1.1.0
Exports
| Export | Kind | Status | Notes |
|---|---|---|---|
Channel | class | Full | name, hasSubscribers, publish(), subscribe(), unsubscribe() |
channel() | function | Full | Returns a Channel object for the given name, creating one if it does not exist |
hasSubscribers() | function | Full | Returns whether the named channel has active subscribers |
subscribe() | function | Full | Subscribe a handler to the named channel |
unsubscribe() | function | Full | Unsubscribe a handler from the named channel |
Tests: node-api node:diagnostics-channel: 42 pass, 25 fail, 0 error, 1 skipped. Failing: test-diagnostics-channel-http2-client-stream-body-multiple-buffers-and-strings.js, test-diagnostics-channel-http2-client-stream-body-multiple-buffers.js, test-diagnostics-channel-http2-client-stream-body-no-chunks.js, test-diagnostics-channel-http2-client-stream-body-single-buffer.js, test-diagnostics-channel-http2-client-stream-body-single-string.js, test-diagnostics-channel-http2-client-stream-close-error.js, test-diagnostics-channel-http2-client-stream-close.js, test-diagnostics-channel-http2-client-stream-created.js, and 17 more.