| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -717,7 +717,7 @@ changes: | |||
| 717 | 717 | ||
| 718 | 718 | Type: Documentation-only | |
| 719 | 719 | ||
| 720 | - The [`EventEmitter.listenerCount(emitter, eventName)`][] API is | ||
| 720 | + The [`events.listenerCount(emitter, eventName)`][] API is | ||
| 721 | 721 | deprecated. Please use [`emitter.listenerCount(eventName)`][] instead. | |
| 722 | 722 | ||
| 723 | 723 | ### DEP0034: `fs.exists(path, callback)` | |
@@ -2712,7 +2712,6 @@ runtime warning results no matter where the `"exports"` usage occurs. | |||
| 2712 | 2712 | [`Buffer.isBuffer()`]: buffer.md#buffer_static_method_buffer_isbuffer_obj | |
| 2713 | 2713 | [`Cipher`]: crypto.md#crypto_class_cipher | |
| 2714 | 2714 | [`Decipher`]: crypto.md#crypto_class_decipher | |
| 2715 | - [`EventEmitter.listenerCount(emitter, eventName)`]: events.md#events_eventemitter_listenercount_emitter_eventname | ||
| 2716 | 2715 | [`REPLServer.clearBufferedCommand()`]: repl.md#repl_replserver_clearbufferedcommand | |
| 2717 | 2716 | [`ReadStream.open()`]: fs.md#fs_class_fs_readstream | |
| 2718 | 2717 | [`Server.getConnections()`]: net.md#net_server_getconnections_callback | |
@@ -2741,6 +2740,7 @@ runtime warning results no matter where the `"exports"` usage occurs. | |||
| 2741 | 2740 | [`domain`]: domain.md | |
| 2742 | 2741 | [`ecdh.setPublicKey()`]: crypto.md#crypto_ecdh_setpublickey_publickey_encoding | |
| 2743 | 2742 | [`emitter.listenerCount(eventName)`]: events.md#events_emitter_listenercount_eventname | |
| 2743 | + [`events.listenerCount(emitter, eventName)`]: events.md#events_events_listenercount_emitter_eventname | ||
| 2744 | 2744 | [`fs.FileHandle`]: fs.md#fs_class_filehandle | |
| 2745 | 2745 | [`fs.access()`]: fs.md#fs_fs_access_path_mode_callback | |
| 2746 | 2746 | [`fs.createReadStream()`]: fs.md#fs_fs_createreadstream_path_options | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -158,11 +158,13 @@ myEmitter.emit('error', new Error('whoops!')); | |||
| 158 | 158 | ``` | |
| 159 | 159 | ||
| 160 | 160 | It is possible to monitor `'error'` events without consuming the emitted error | |
| 161 | - by installing a listener using the symbol `errorMonitor`. | ||
| 161 | + by installing a listener using the symbol `events.errorMonitor`. | ||
| 162 | 162 | ||
| 163 | 163 | ```js | |
| 164 | - const myEmitter = new MyEmitter(); | ||
| 165 | - myEmitter.on(EventEmitter.errorMonitor, (err) => { | ||
| 164 | + const { EventEmitter, errorMonitor } = require('events'); | ||
| 165 | + | ||
| 166 | + const myEmitter = new EventEmitter(); | ||
| 167 | + myEmitter.on(errorMonitor, (err) => { | ||
| 166 | 168 | MyMonitoringTool.log(err); | |
| 167 | 169 | }); | |
| 168 | 170 | myEmitter.emit('error', new Error('whoops!')); | |
@@ -205,12 +207,13 @@ ee2.on('something', async (value) => { | |||
| 205 | 207 | ee2[Symbol.for('nodejs.rejection')] = console.log; | |
| 206 | 208 | ``` | |
| 207 | 209 | ||
| 208 | - Setting `EventEmitter.captureRejections = true` will change the default for all | ||
| 210 | + Setting `events.captureRejections = true` will change the default for all | ||
| 209 | 211 | new instances of `EventEmitter`. | |
| 210 | 212 | ||
| 211 | 213 | ```js | |
| 212 | - EventEmitter.captureRejections = true; | ||
| 213 | - const ee1 = new EventEmitter(); | ||
| 214 | + const events = require('events'); | ||
| 215 | + events.captureRejections = true; | ||
| 216 | + const ee1 = new events.EventEmitter(); | ||
| 214 | 217 | ee1.on('something', async (value) => { | |
| 215 | 218 | throw new Error('kaboom'); | |
| 216 | 219 | }); | |
@@ -306,106 +309,6 @@ changes: | |||
| 306 | 309 | ||
| 307 | 310 | The `'removeListener'` event is emitted *after* the `listener` is removed. | |
| 308 | 311 | ||
| 309 | - ### `EventEmitter.listenerCount(emitter, eventName)` | ||
| 310 | - <!-- YAML | ||
| 311 | - added: v0.9.12 | ||
| 312 | - deprecated: v3.2.0 | ||
| 313 | - --> | ||
| 314 | - | ||
| 315 | - > Stability: 0 - Deprecated: Use [`emitter.listenerCount()`][] instead. | ||
| 316 | - | ||
| 317 | - * `emitter` {EventEmitter} The emitter to query | ||
| 318 | - * `eventName` {string|symbol} The event name | ||
| 319 | - | ||
| 320 | - A class method that returns the number of listeners for the given `eventName` | ||
| 321 | - registered on the given `emitter`. | ||
| 322 | - | ||
| 323 | - ```js | ||
| 324 | - const myEmitter = new EventEmitter(); | ||
| 325 | - myEmitter.on('event', () => {}); | ||
| 326 | - myEmitter.on('event', () => {}); | ||
| 327 | - console.log(EventEmitter.listenerCount(myEmitter, 'event')); | ||
| 328 | - // Prints: 2 | ||
| 329 | - ``` | ||
| 330 | - | ||
| 331 | - ### `EventEmitter.defaultMaxListeners` | ||
| 332 | - <!-- YAML | ||
| 333 | - added: v0.11.2 | ||
| 334 | - --> | ||
| 335 | - | ||
| 336 | - By default, a maximum of `10` listeners can be registered for any single | ||
| 337 | - event. This limit can be changed for individual `EventEmitter` instances | ||
| 338 | - using the [`emitter.setMaxListeners(n)`][] method. To change the default | ||
| 339 | - for *all* `EventEmitter` instances, the `EventEmitter.defaultMaxListeners` | ||
| 340 | - property can be used. If this value is not a positive number, a `RangeError` | ||
| 341 | - is thrown. | ||
| 342 | - | ||
| 343 | - Take caution when setting the `EventEmitter.defaultMaxListeners` because the | ||
| 344 | - change affects *all* `EventEmitter` instances, including those created before | ||
| 345 | - the change is made. However, calling [`emitter.setMaxListeners(n)`][] still has | ||
| 346 | - precedence over `EventEmitter.defaultMaxListeners`. | ||
| 347 | - | ||
| 348 | - This is not a hard limit. The `EventEmitter` instance will allow | ||
| 349 | - more listeners to be added but will output a trace warning to stderr indicating | ||
| 350 | - that a "possible EventEmitter memory leak" has been detected. For any single | ||
| 351 | - `EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` | ||
| 352 | - methods can be used to temporarily avoid this warning: | ||
| 353 | - | ||
| 354 | - ```js | ||
| 355 | - emitter.setMaxListeners(emitter.getMaxListeners() + 1); | ||
| 356 | - emitter.once('event', () => { | ||
| 357 | - // do stuff | ||
| 358 | - emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); | ||
| 359 | - }); | ||
| 360 | - ``` | ||
| 361 | - | ||
| 362 | - The [`--trace-warnings`][] command-line flag can be used to display the | ||
| 363 | - stack trace for such warnings. | ||
| 364 | - | ||
| 365 | - The emitted warning can be inspected with [`process.on('warning')`][] and will | ||
| 366 | - have the additional `emitter`, `type` and `count` properties, referring to | ||
| 367 | - the event emitter instance, the event’s name and the number of attached | ||
| 368 | - listeners, respectively. | ||
| 369 | - Its `name` property is set to `'MaxListenersExceededWarning'`. | ||
| 370 | - | ||
| 371 | - ### `EventEmitter.errorMonitor` | ||
| 372 | - <!-- YAML | ||
| 373 | - added: | ||
| 374 | - - v13.6.0 | ||
| 375 | - - v12.17.0 | ||
| 376 | - --> | ||
| 377 | - | ||
| 378 | - This symbol shall be used to install a listener for only monitoring `'error'` | ||
| 379 | - events. Listeners installed using this symbol are called before the regular | ||
| 380 | - `'error'` listeners are called. | ||
| 381 | - | ||
| 382 | - Installing a listener using this symbol does not change the behavior once an | ||
| 383 | - `'error'` event is emitted, therefore the process will still crash if no | ||
| 384 | - regular `'error'` listener is installed. | ||
| 385 | - | ||
| 386 | - ### `EventEmitter.setMaxListeners(n[, ...eventTargets])` | ||
| 387 | - <!-- YAML | ||
| 388 | - added: v15.3.0 | ||
| 389 | - --> | ||
| 390 | - | ||
| 391 | - * `n` {number} A non-negative number. The maximum number of listeners per | ||
| 392 | - `EventTarget` event. | ||
| 393 | - * `...eventsTargets` {EventTarget[]|EventEmitter[]} Zero or more {EventTarget} | ||
| 394 | - or {EventEmitter} instances. If none are specified, `n` is set as the default | ||
| 395 | - max for all newly created {EventTarget} and {EventEmitter} objects. | ||
| 396 | - | ||
| 397 | - ```js | ||
| 398 | - const { | ||
| 399 | - setMaxListeners, | ||
| 400 | - EventEmitter | ||
| 401 | - } = require('events'); | ||
| 402 | - | ||
| 403 | - const target = new EventTarget(); | ||
| 404 | - const emitter = new EventEmitter(); | ||
| 405 | - | ||
| 406 | - setMaxListeners(5, target, emitter); | ||
| 407 | - ``` | ||
| 408 | - | ||
| 409 | 312 | ### `emitter.addListener(eventName, listener)` | |
| 410 | 313 | <!-- YAML | |
| 411 | 314 | added: v0.1.26 | |
@@ -496,7 +399,7 @@ added: v1.0.0 | |||
| 496 | 399 | ||
| 497 | 400 | Returns the current max listener value for the `EventEmitter` which is either | |
| 498 | 401 | set by [`emitter.setMaxListeners(n)`][] or defaults to | |
| 499 | - [`EventEmitter.defaultMaxListeners`][]. | ||
| 402 | + [`events.defaultMaxListeners`][]. | ||
| 500 | 403 | ||
| 501 | 404 | ### `emitter.listenerCount(eventName)` | |
| 502 | 405 | <!-- YAML | |
@@ -852,6 +755,61 @@ class MyClass extends EventEmitter { | |||
| 852 | 755 | } | |
| 853 | 756 | ``` | |
| 854 | 757 | ||
| 758 | + ## `events.defaultMaxListeners` | ||
| 759 | + <!-- YAML | ||
| 760 | + added: v0.11.2 | ||
| 761 | + --> | ||
| 762 | + | ||
| 763 | + By default, a maximum of `10` listeners can be registered for any single | ||
| 764 | + event. This limit can be changed for individual `EventEmitter` instances | ||
| 765 | + using the [`emitter.setMaxListeners(n)`][] method. To change the default | ||
| 766 | + for *all* `EventEmitter` instances, the `events.defaultMaxListeners` | ||
| 767 | + property can be used. If this value is not a positive number, a `RangeError` | ||
| 768 | + is thrown. | ||
| 769 | + | ||
| 770 | + Take caution when setting the `events.defaultMaxListeners` because the | ||
| 771 | + change affects *all* `EventEmitter` instances, including those created before | ||
| 772 | + the change is made. However, calling [`emitter.setMaxListeners(n)`][] still has | ||
| 773 | + precedence over `events.defaultMaxListeners`. | ||
| 774 | + | ||
| 775 | + This is not a hard limit. The `EventEmitter` instance will allow | ||
| 776 | + more listeners to be added but will output a trace warning to stderr indicating | ||
| 777 | + that a "possible EventEmitter memory leak" has been detected. For any single | ||
| 778 | + `EventEmitter`, the `emitter.getMaxListeners()` and `emitter.setMaxListeners()` | ||
| 779 | + methods can be used to temporarily avoid this warning: | ||
| 780 | + | ||
| 781 | + ```js | ||
| 782 | + emitter.setMaxListeners(emitter.getMaxListeners() + 1); | ||
| 783 | + emitter.once('event', () => { | ||
| 784 | + // do stuff | ||
| 785 | + emitter.setMaxListeners(Math.max(emitter.getMaxListeners() - 1, 0)); | ||
| 786 | + }); | ||
| 787 | + ``` | ||
| 788 | + | ||
| 789 | + The [`--trace-warnings`][] command-line flag can be used to display the | ||
| 790 | + stack trace for such warnings. | ||
| 791 | + | ||
| 792 | + The emitted warning can be inspected with [`process.on('warning')`][] and will | ||
| 793 | + have the additional `emitter`, `type` and `count` properties, referring to | ||
| 794 | + the event emitter instance, the event’s name and the number of attached | ||
| 795 | + listeners, respectively. | ||
| 796 | + Its `name` property is set to `'MaxListenersExceededWarning'`. | ||
| 797 | + | ||
| 798 | + ## `events.errorMonitor` | ||
| 799 | + <!-- YAML | ||
| 800 | + added: | ||
| 801 | + - v13.6.0 | ||
| 802 | + - v12.17.0 | ||
| 803 | + --> | ||
| 804 | + | ||
| 805 | + This symbol shall be used to install a listener for only monitoring `'error'` | ||
| 806 | + events. Listeners installed using this symbol are called before the regular | ||
| 807 | + `'error'` listeners are called. | ||
| 808 | + | ||
| 809 | + Installing a listener using this symbol does not change the behavior once an | ||
| 810 | + `'error'` event is emitted, therefore the process will still crash if no | ||
| 811 | + regular `'error'` listener is installed. | ||
| 812 | + | ||
| 855 | 813 | ## `events.getEventListeners(emitterOrTarget, eventName)` | |
| 856 | 814 | <!-- YAML | |
| 857 | 815 | added: | |
@@ -1061,6 +1019,29 @@ Value: `Symbol.for('nodejs.rejection')` | |||
| 1061 | 1019 | ||
| 1062 | 1020 | See how to write a custom [rejection handler][rejection]. | |
| 1063 | 1021 | ||
| 1022 | + ## `events.listenerCount(emitter, eventName)` | ||
| 1023 | + <!-- YAML | ||
| 1024 | + added: v0.9.12 | ||
| 1025 | + deprecated: v3.2.0 | ||
| 1026 | + --> | ||
| 1027 | + | ||
| 1028 | + > Stability: 0 - Deprecated: Use [`emitter.listenerCount()`][] instead. | ||
| 1029 | + | ||
| 1030 | + * `emitter` {EventEmitter} The emitter to query | ||
| 1031 | + * `eventName` {string|symbol} The event name | ||
| 1032 | + | ||
| 1033 | + A class method that returns the number of listeners for the given `eventName` | ||
| 1034 | + registered on the given `emitter`. | ||
| 1035 | + | ||
| 1036 | + ```js | ||
| 1037 | + const { EventEmitter, listenerCount } = require('events'); | ||
| 1038 | + const myEmitter = new EventEmitter(); | ||
| 1039 | + myEmitter.on('event', () => {}); | ||
| 1040 | + myEmitter.on('event', () => {}); | ||
| 1041 | + console.log(listenerCount(myEmitter, 'event')); | ||
| 1042 | + // Prints: 2 | ||
| 1043 | + ``` | ||
| 1044 | + | ||
| 1064 | 1045 | ## `events.on(emitter, eventName[, options])` | |
| 1065 | 1046 | <!-- YAML | |
| 1066 | 1047 | added: | |
@@ -1128,6 +1109,29 @@ const ac = new AbortController(); | |||
| 1128 | 1109 | process.nextTick(() => ac.abort()); | |
| 1129 | 1110 | ``` | |
| 1130 | 1111 | ||
| 1112 | + ## `events.setMaxListeners(n[, ...eventTargets])` | ||
| 1113 | + <!-- YAML | ||
| 1114 | + added: REPLACEME | ||
| 1115 | + --> | ||
| 1116 | + | ||
| 1117 | + * `n` {number} A non-negative number. The maximum number of listeners per | ||
| 1118 | + `EventTarget` event. | ||
| 1119 | + * `...eventsTargets` {EventTarget[]|EventEmitter[]} Zero or more {EventTarget} | ||
| 1120 | + or {EventEmitter} instances. If none are specified, `n` is set as the default | ||
| 1121 | + max for all newly created {EventTarget} and {EventEmitter} objects. | ||
| 1122 | + | ||
| 1123 | + ```js | ||
| 1124 | + const { | ||
| 1125 | + setMaxListeners, | ||
| 1126 | + EventEmitter | ||
| 1127 | + } = require('events'); | ||
| 1128 | + | ||
| 1129 | + const target = new EventTarget(); | ||
| 1130 | + const emitter = new EventEmitter(); | ||
| 1131 | + | ||
| 1132 | + setMaxListeners(5, target, emitter); | ||
| 1133 | + ``` | ||
| 1134 | + | ||
| 1131 | 1135 | <a id="event-target-and-event-api"></a> | |
| 1132 | 1136 | ## `EventTarget` and `Event` API | |
| 1133 | 1137 | <!-- YAML | |
@@ -1606,14 +1610,14 @@ to the `EventTarget`. | |||
| 1606 | 1610 | ||
| 1607 | 1611 | [WHATWG-EventTarget]: https://dom.spec.whatwg.org/#interface-eventtarget | |
| 1608 | 1612 | [`--trace-warnings`]: cli.md#cli_trace_warnings | |
| 1609 | - [`EventEmitter.defaultMaxListeners`]: #events_eventemitter_defaultmaxlisteners | ||
| 1610 | 1613 | [`EventTarget` Web API]: https://dom.spec.whatwg.org/#eventtarget | |
| 1611 | 1614 | [`EventTarget` error handling]: #events_eventtarget_error_handling | |
| 1612 | 1615 | [`Event` Web API]: https://dom.spec.whatwg.org/#event | |
| 1613 | 1616 | [`domain`]: domain.md | |
| 1614 | 1617 | [`emitter.listenerCount()`]: #events_emitter_listenercount_eventname | |
| 1615 | 1618 | [`emitter.removeListener()`]: #events_emitter_removelistener_eventname_listener | |
| 1616 | 1619 | [`emitter.setMaxListeners(n)`]: #events_emitter_setmaxlisteners_n | |
| 1620 | + [`events.defaultMaxListeners`]: #events_events_defaultmaxlisteners | ||
| 1617 | 1621 | [`fs.ReadStream`]: fs.md#fs_class_fs_readstream | |
| 1618 | 1622 | [`net.Server`]: net.md#net_class_net_server | |
| 1619 | 1623 | [`process.on('warning')`]: process.md#process_event_warning | |
| Back | FazBrowse Home | New Git URL |
0 commit comments