From 5ba3a2c4b6dfb928a097b36523d59cd5fa70706b Mon Sep 17 00:00:00 2001 From: Brian White Date: Sun, 25 Aug 2019 04:21:33 -0400 Subject: events: improve once() performance PR-URL: https://github.com/nodejs/node/pull/29307 Reviewed-By: Ben Noordhuis Reviewed-By: Luigi Pinca Reviewed-By: Colin Ihrig Reviewed-By: James M Snell Reviewed-By: Trivikram Kamat Reviewed-By: Yongsheng Zhang --- lib/events.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'lib/events.js') 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); } } -- cgit v1.2.3