JSFiddle - React, Tailwind, and code Playground
by kpulkit29
HTML
<input onchange="debugger;onChange()">
JavaScript
function change(e) {
console.log("here");
}
function debounce(func, timer) {
let timerId;
return function() {
clearTimeout(timerId);
timerId = setTimeout(() => {
func()
}, timer);
}
}
var onChange = debounce(change, 100);
const promise1 = Promise.resolve(3);
const promise2 = Promise.resolve(44);
const promise3 = new Promise((resolve, reject) => {
setTimeout(resolve, 100, 'foo');
});
Promise.all([promise1, promise2, promise3]).then((values) => {
console.log(values);
});
function promiseAll(promises) {
debugger;
let arr = [];
let count = 0
promises.forEach((item, index) => {
item.then(val => {arr[index]=val, count++;})
})
return new Promise(resolve => {
if(count === promises.length){
resolve(arr);
}
})
}
promiseAll([promise1, promise2, promise3]).then(val=>console.log(val))
// expected output: Array [3, 42, "foo"]
/* function log() {
console.log("here");
}
let obj = debounce(log, 10);
obj();
obj();
obj(); */