Sobes.tech

Frontend

FE բաժանված բաժանված բաժանված բաժանված բաժանված բաժանված ```JavaScript console.log('Timeout'); // 4 }, 0); let p = new Promise(function(resolve, reject) { console.log('Համոզամտության ստեղծում'); // 1 resolve(); }); p.then(function(){ console.log('Համոզամտության մշակումը'); // 3 }); console.log('Սցենարի վերջը'); // 2 Ավելորդ դեպք console.log(1); setTimeout(() => console.log(2)); Promise.resolve().then(() => console.log(3)); Promise.resolve().then(() => setTimeout(() => console.log(4))); Promise.resolve().then(() => console.log(5)); setTimeout(() => console.log(6)); console.log(7);

Middle
174

setTimeout(function timeout() { console.log('Տրամագիծ'); }, 0); let p = new Promise(function(resolve, reject) { console.log('Համոզական ստեղծում'); resolve(); }); p.then(function(){ console.log('Համոզականի մշակումը'); }); console.log('Սցենարի վերջը'); // Կարծես բարդ դեպք // console.log(1); // setTimeout(() => console.log(2)); // Promise.resolve().then(() => console.log(3)); // Promise.resolve().then(() => setTimeout(() => console.log(4))); // Promise.resolve().then(() => console.log(5)); // setTimeout(() => console.log(6));

Middle
174

թող i = 0; գործառույթ ավելացնել() { i++; console.log(i) } գործառույթ debounce(func, wait = 0) {} const debouncedIncrement = debounce(ավելացնել, 100); debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 0 debouncedIncrement(); // i = 1 setTimeout(debouncedIncrement, 150); // i = 2 setTimeout(debouncedIncrement, 200); // i = 2 setTimeout(debouncedIncrement, 350); // i = 3

Middle
164

/** * @param {Array} iterable * @return {Promise<Array>} */ function promiseAll(iterable) {} // Հաղորդման լուծում. const p0 = Promise.resolve(3); const p1 = 42; const p2 = new Promise((resolve, reject) => { setTimeout(() => { resolve('foo'); }, 100); }); promiseAll([p0, p1, p2]).then(console.log); // [3, 42, 'foo']

Middle
153

function createRateLimiter(limit, interval) {} // Փորձեր const limiter = createRateLimiter(2, 100); let count = 0; const fn = () => { count++ console.log(count) }; limiter(fn); // count = 1 limiter(fn); // count = 2 limiter(fn); // Անտեսված (սահմանափակում 2/100մս) setTimeout(() => limiter(fn), 150); // count = 3 (անցել է >100մս)

Middle
153