terriajs
Version:
Geospatial data visualization platform.
27 lines • 894 B
JavaScript
import Frozen from "terriajs-cesium/Source/Core/Frozen";
import getTimestamp from "terriajs-cesium/Source/Core/getTimestamp";
const pollToPromise = function (f, options) {
options = options ?? Frozen.EMPTY_OBJECT;
const pollInterval = options.pollInterval ?? 1;
const timeout = options.timeout ?? 5000;
return new Promise((resolve, reject) => {
const startTimestamp = getTimestamp();
const endTimestamp = startTimestamp + timeout;
function poller() {
if (f()) {
resolve();
}
else {
if (getTimestamp() > endTimestamp) {
reject();
}
else {
setTimeout(poller, pollInterval);
}
}
}
poller();
});
};
export default pollToPromise;
//# sourceMappingURL=pollToPromise.js.map