Example:
class PubSub {
constructor() {
this.events = {};
}
subscribe(event, callback) {
if (!this.events[event]) {
this.events[event] = [];
}
this.events[event].push(callback);
}
publish(event, data) {
if (this.events[event]) {
this.events[event].forEach(callback => {
callback(data);
});
}
}
}
const pubsub = new PubSub();
pubsub.subscribe("message", data => {
console.log(data);
});
pubsub.publish("message", "Hello World");Output:
Hello World
100. Write a function to implement a basic Promise.all.
Example:
function promiseAll(promises) {
return new Promise((resolve, reject) => {
let results = [];
let completed = 0;
promises.forEach((promise, index) => {
Promise.resolve(promise)
.then(result => {
results[index] = result;
completed++;
if (completed === promises.length) {
resolve(results);
}
})
.catch(reject);
});
});
}
promiseAll([
Promise.resolve(1),
Promise.resolve(2),
Promise.resolve(3)
])
.then(console.log);Output:
[1, 2, 3]
Double Tap ❤️ For More