CHALLENGE
const p1 = new Promise((resolve) => {
console.log("A");
resolve("B");
});
const p2 = p1.then((val) => {
console.log(val);
return "C";
});
p2.then((val) => console.log(val));
console.log("D");
❤4🤔2
CHALLENGE
class EventEmitter {
#listeners = new Map();
on(event, listener) {
if (!this.#listeners.has(event)) {
this.#listeners.set(event, []);
}
this.#listeners.get(event).push(listener);
return this;
}
emit(event, ...args) {
const handlers = this.#listeners.get(event) ?? [];
handlers.forEach(fn => fn(...args));
return this;
}
}
const emitter = new EventEmitter();
const log = [];
emitter
.on("data", val => log.push(`A:${val}`))
.on("data", val => log.push(`B:${val * 2}`))
.on("end", () => log.push("done"));
emitter.emit("data", 5).emit("data", 3).emit("end");
console.log(log.join(","));
What is the output?
Anonymous Quiz
26%
A:5,B:10,A:3,B:6,done
46%
A:5,A:3,B:6,B:10,done
26%
A:5,B:10,done,A:3,B:6
3%
A:5,B:25,A:3,B:9,done
❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2👍1🔥1