Classes emitter and receiver are supposed to send and receive messages. Why is the receiver not receiving any messages and how should I fix it?
const solution = (messages) => {
class Emitter {
constructor(messages = []) {
this.messages = messages;
this.event = () => {};
}
setEvent(fn) {
this.event = fn;
}
trigger() {
this.messages.forEach(message => this.event(message));
}
}
class Receiver {
constructor() {
this.messages = [];
}
ping(message) {
this.messages.push(message);
}
}
let emi = new Emitter(messages);
let rec = new Receiver();
emi.setEvent(rec.ping);
emi.trigger();
console.log(rec.messages); // []
console.log(emi.messages) // ['hi','hola','hi','hola']
}
solution(['hi','hola']);