Skip to content

Commit 133faed

Browse files
committed
fix error listener handler case
Port of nodejs/node@a62ff6d
1 parent f1d67b0 commit 133faed

2 files changed

Lines changed: 6 additions & 2 deletions

File tree

events.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -461,7 +461,9 @@ function once(emitter, name) {
461461
};
462462

463463
eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });
464-
addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
464+
if (name !== 'error') {
465+
addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });
466+
}
465467
});
466468
}
467469

tests/events-once.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,9 @@ function onceError() {
134134
ee.emit('error', expected);
135135
});
136136

137-
return once(ee, 'error').then(function (args) {
137+
var promise = once(ee, 'error');
138+
assert.strictEqual(ee.listenerCount('error'), 1);
139+
return promise.then(function (args) {
138140
var err = args[0]
139141
assert.strictEqual(err, expected);
140142
assert.strictEqual(ee.listenerCount('error'), 0);

0 commit comments

Comments
 (0)