propagate icon indicating copy to clipboard operation
propagate copied to clipboard

Unable to propagate error event from EventEmitter2

Open agirorn opened this issue 8 years ago • 2 comments

Propagate could be enhanced to work with eventemmiter2 and not fail when the error event is emitted. Relates to asyncly/EventEmitter2#215

How to repoduce ``js #!/usr/bin/env node

const EventEmitter2 = require('eventemitter2').EventEmitter2; const propagate = require('propagate');

const source = new EventEmitter2(); const dest = new EventEmitter2();

propagate(source, dest);

dest.on('error', (error) => { console.log('got error event', error); });

console.log('sending error event'); try { source.emit('error', 'The error data'); } catch(e) { console.log('caught error', e); }


```shell
sending error event
caught error Error: Uncaught, unspecified 'error' event.
    at EventEmitter.emit (/home/agirorn/tmp/test-propagate-eventemitter2/node_modules/eventemitter2/lib/eventemitter2.js:398:15)
    at EventEmitter.source.emit (/home/agirorn/tmp/test-propagate-eventemitter2/node_modules/propagate/index.js:19:13)
    at Object.<anonymous> (/home/agirorn/tmp/test-propagate-eventemitter2/test.js:15:10)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:383:7)
➜  test-propagate-eventemitter2

expected result

sending error event
got error event The error data

agirorn avatar Dec 04 '17 20:12 agirorn

Gladly accepting code contributions :)

pgte avatar Dec 04 '17 20:12 pgte

You should have at least one error listener in the source emitter to avoid throwing this error. Since 6.1.0 we have the ignoreErrors option for the EventEmitter2 constructor to disable this behavior.

DigitalBrainJS avatar Apr 12 '20 15:04 DigitalBrainJS