summaryrefslogtreecommitdiff
path: root/lib/events.js
diff options
context:
space:
mode:
authorBrian White <mscdex@mscdex.net>2019-08-25 04:21:33 -0400
committerzhangyongsheng <zhangyongsheng@youzan.com>2019-08-27 20:06:09 +0800
commit5ba3a2c4b6dfb928a097b36523d59cd5fa70706b (patch)
treeb8962b5bf35dc271b144583576c0011a1a381b68 /lib/events.js
parentf96f9fbe31f30d2effe3cd3a74c19a05360757a5 (diff)
downloadandroid-node-v8-5ba3a2c4b6dfb928a097b36523d59cd5fa70706b.tar.gz
android-node-v8-5ba3a2c4b6dfb928a097b36523d59cd5fa70706b.tar.bz2
android-node-v8-5ba3a2c4b6dfb928a097b36523d59cd5fa70706b.zip
events: improve once() performance
PR-URL: https://github.com/nodejs/node/pull/29307 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: Yongsheng Zhang <zyszys98@gmail.com>
Diffstat (limited to 'lib/events.js')
-rw-r--r--lib/events.js6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/events.js b/lib/events.js
index ae847dc234..ebde85c6dd 100644
--- a/lib/events.js
+++ b/lib/events.js
@@ -290,11 +290,13 @@ EventEmitter.prototype.prependListener =
return _addListener(this, type, listener, true);
};
-function onceWrapper(...args) {
+function onceWrapper() {
if (!this.fired) {
this.target.removeListener(this.type, this.wrapFn);
this.fired = true;
- return Reflect.apply(this.listener, this.target, args);
+ if (arguments.length === 0)
+ return this.listener.call(this.target);
+ return this.listener.apply(this.target, arguments);
}
}