diff options
author | Brian White <mscdex@mscdex.net> | 2020-06-13 13:35:16 -0400 |
---|---|---|
committer | James M Snell <jasnell@gmail.com> | 2020-06-17 12:12:49 -0700 |
commit | a4f3206b767bee8ef3e0e1dc8bdbd5e477c5bfa6 (patch) | |
tree | b96e38c56b4a5c4b32904395229ea62dcd532627 /lib/events.js | |
parent | 272b46e04d73f72e918c4be4aea0fb7cb90254e2 (diff) | |
download | node-new-a4f3206b767bee8ef3e0e1dc8bdbd5e477c5bfa6.tar.gz |
events: improve listeners() performance
PR-URL: https://github.com/nodejs/node/pull/33863
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Gerhard Stöbich <deb2001-github@yahoo.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Diffstat (limited to 'lib/events.js')
-rw-r--r-- | lib/events.js | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/events.js b/lib/events.js index 06fed54c61..51259e6821 100644 --- a/lib/events.js +++ b/lib/events.js @@ -22,7 +22,6 @@ 'use strict'; const { - Array, Boolean, Error, MathMin, @@ -613,9 +612,11 @@ function arrayClone(arr) { } function unwrapListeners(arr) { - const ret = new Array(arr.length); + const ret = arrayClone(arr); for (let i = 0; i < ret.length; ++i) { - ret[i] = arr[i].listener || arr[i]; + const orig = ret[i].listener; + if (typeof orig === 'function') + ret[i] = orig; } return ret; } |