Get your own Node server
const EventEmitter = require('events');

// Enable capture rejections (Node.js 12.16.0+)
const myEmitter = new EventEmitter({ captureRejections: true });

// OR set it globally
// EventEmitter.captureRejections = true;

// Event handler that returns a Promise
myEmitter.on('async-operation', async () => {
  // This rejected promise will be captured and converted to an 'error' event
  throw new Error('Async operation failed');
});

// Error handler
myEmitter.on('error', (err) => {
  console.error('Caught error:', err.message);
});

// Trigger the event
myEmitter.emit('async-operation');

              
Caught error: Async operation failed