01
Write a simple custom EventEmitter usage for an order service.
Show answer
const EventEmitter = require('events');
class OrderService extends EventEmitter {
place(order) {
// save order...
this.emit('placed', order);
}
}
const svc = new OrderService();
svc.on('placed', (o) => console.log('Send email for', o.id));
svc.once('placed', () => console.log('First order today'));
svc.on('error', (err) => console.error(err));
svc.place({ id: 101 });