pw-js-api
Version:
A PixelWalker Library, aims to be minimal with support for browsers.
14 lines • 1.26 kB
JavaScript
import { setTimeout as workerSetTimeout } from "worker-timers";
import * as jsEnv from "browser-or-node";
export function customSetTimeout(callback, ms) {
if (jsEnv.isBrowser) {
// setTimeout in browsers timeout for longer, when the tab is inactive due to throttling.
// However, running timeout in web worker avoids an inactive tab throttling problem, because timeouts in web worker are not throttled.
return workerSetTimeout(callback, ms);
}
else {
// Other environments may not support web workers
return setTimeout(callback, ms);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVGltZW91dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2xpYi91dGlsL1RpbWVvdXQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEtBQUssS0FBSyxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxRQUFvQixFQUFFLEVBQVU7SUFDN0QsSUFBSSxLQUFLLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDbEIseUZBQXlGO1FBQ3pGLHNJQUFzSTtRQUN0SSxPQUFPLGdCQUFnQixDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMxQyxDQUFDO1NBQU0sQ0FBQztRQUNKLGlEQUFpRDtRQUNqRCxPQUFPLFVBQVUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFDcEMsQ0FBQztBQUNMLENBQUMifQ==