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);