js-uploader
Version:
A JavaScript library for file upload
28 lines • 1.15 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.scheduleWork = void 0;
var Logger_1 = require("../shared/Logger");
exports.scheduleWork = function (callback, timeout) {
if (typeof callback !== 'function') {
return;
}
if (typeof window !== 'undefined') {
if ('requestIdleCallback' in window) {
Logger_1.Logger.warn('scheduleWork : use requestIdleCallback!');
window.requestIdleCallback(function (idle) { return callback(function () { return idle.timeRemaining(); }); }, { timeout: timeout });
}
else if ('requestAnimationFrame' in window) {
Logger_1.Logger.warn('scheduleWork : use requestAnimationFrame!');
window.requestAnimationFrame(function () { return callback(); });
}
else {
Logger_1.Logger.warn('scheduleWork : use setTimeout!');
setTimeout(function () { return callback(); });
}
}
else {
Logger_1.Logger.warn('scheduleWork : use setTimeout!');
setTimeout(function () { return callback(); });
}
};
//# sourceMappingURL=schedule-work.js.map