Я пытаюсь остановить ожидающие запросы ajax, когда определенное действие происходит на карте LeafletJS. Вот что я делаю, у меня есть карта (которая использует LeafletJS), которая запрашивает услугу WMS, когда пользователь панорамирует, масштабирует или запрашивает новый уровень, ранее поставленные в очередь запросы ajax продолжают ждать ответа.Как остановить ожидающие запросы ajax?
Идея состоит в обработке только запросов, которые будут служить текущим критериям просмотра карты и отменить все остальное. Причина, по которой я пытаюсь достичь этого, - улучшить производительность и скорость выполнения текущего действия и игнорировать все предыдущие действия.
Я чувствую, что это больше вопрос Javascript, чем конкретный вопрос leafletJS так что я посмотрел в прерыванием() но я не уверен, как применять его с LeafletJS
Отредактировано: Вот код в настоящее время я должен запросить услугу WMS (услуга частная)
$scope.makeWMSLayer = function (layerInfo) {
if (layerInfo == null)
return false;
var uri = apiUrl+"/WMSService/";
var options = {
layers: layerInfo.Name,
maxZoom: layerInfo.maxZoom || 20,
minZoom: layerInfo.minZoom || 11 ,
format: 'image/jpeg',
transparent: true
};
var layer = L.tileLayer.wms(uri, options);
layer.on({
load: function() { self.layersLoading[layerInfo.Name] = false; digest(); },
loading: function() { self.layersLoading[layerInfo.Name] = true; digest(); }
});
/*keep current active layer inside a $rootScope variable*/
$rootScope.activeLayer = layer;
return layer;
};
Можете ли вы опубликовать код, который у вас есть сейчас? – arcyqwerty
Я обновил свой вопрос с помощью функции, которая создает все запросы ajax. При запросе нового слоя происходит от 12 до 15 запросов! – mehany