itowns
Version:
A JS/WebGL framework for 3D geospatial data visualization
32 lines (26 loc) • 1.07 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = handlingError;
var _CancelledCommandException = _interopRequireDefault(require("../Core/Scheduler/CancelledCommandException"));
// max retry loading before changing the status to definitiveError
var MAX_RETRY = 4;
function handlingError(err, node, layer, targetLevel, view) {
if (err instanceof _CancelledCommandException["default"]) {
node.layerUpdateState[layer.id].success();
} else if (err instanceof SyntaxError) {
node.layerUpdateState[layer.id].failure(0, true);
} else {
var definitiveError = node.layerUpdateState[layer.id].errorCount > MAX_RETRY;
node.layerUpdateState[layer.id].failure(Date.now(), definitiveError, {
targetLevel: targetLevel
});
if (!definitiveError) {
window.setTimeout(function () {
view.notifyChange(node, false);
}, node.layerUpdateState[layer.id].secondsUntilNextTry() * 1000);
}
}
}
;