Я видел эту прокладку для requestIdleCallback здесь - https://github.com/GoogleChromeLabs/quicklink/blob/master/src/request-idle-callback.mjs
window.requestIdleCallback =
window.requestIdleCallback ||
function (cb) {
var start = Date.now();
return setTimeout(function () {
cb({
didTimeout: false,
timeRemaining: function () {
return Math.max(0, 50 - (Date.now() - start));
}
});
}, 1);
}
window.cancelIdleCallback =
window.cancelIdleCallback ||
function (id) {
clearTimeout(id);
}
Но я запутался с логикой c, используемой здесь для прокладки. Можете ли вы объяснить логику c за этим?