JSFiddle - React, Tailwind, and code Playground
by Alexander
HTML
<div></div>
<input type="checkbox">
CSS
/*
Функция, отложенная через setTimeout(..0) выполнится не ранее следующего «тика» таймера, минимальная частота которого может составлять от 4 до 1000 мс. И, конечно же, это произойдёт после того, как все текущие изменения будут перерисованы.
*/
JavaScript
console.clear();
let i = 1, n = 1;
const fib = n => n <= 1 ? n : fib(n-1) + fib(n-2);
const bgTaskFunction1 = () => {
let f = fib(42);
console.log(`requestIdleCallback ${i++} :`);
console.log(f);
};
const bgTaskFunction2 = () => {
let f = fib(42);
console.log(`setTimeout ${n++} :`);
console.log(f);
};
requestIdleCallback(bgTaskFunction1);
//setTimeout(bgTaskFunction2, 1);
requestIdleCallback(bgTaskFunction1);
//setTimeout(bgTaskFunction2, 1);
console.log('main stream');
setInterval(()=>{
const d = new Date;
document.querySelector('div').innerHTML = `${d.getHours()}:${d.getMinutes()}:${d.getSeconds()}:${d.getMilliseconds()}`;
}, 100);