X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/02ac7ab11aed516192d373d4b07df47d57b18a24..3bdbc35bbd8f44bab813adb5c9afe505868e4a09:/app/assets/javascripts/index/layers/notes.js diff --git a/app/assets/javascripts/index/layers/notes.js b/app/assets/javascripts/index/layers/notes.js index 24bf969b3..9aa1f203f 100644 --- a/app/assets/javascripts/index/layers/notes.js +++ b/app/assets/javascripts/index/layers/notes.js @@ -75,18 +75,18 @@ OSM.initializeNotesLayer = function (map) { if (noteLoader) noteLoader.abort(); - noteLoader = $.ajax({ - url: url, - success: success - }); + noteLoader = new AbortController(); + fetch(url, { signal: noteLoader.signal }) + .then(response => response.json()) + .then(success) + .catch(() => {}) + .finally(() => noteLoader = null); } function success(json) { var oldNotes = notes; notes = {}; - json.features.forEach(updateMarkers); - - function updateMarkers(feature) { + for (const feature of json.features) { var marker = oldNotes[feature.properties.id]; delete oldNotes[feature.properties.id]; notes[feature.properties.id] = updateMarker(marker, feature); @@ -95,8 +95,6 @@ OSM.initializeNotesLayer = function (map) { for (var id in oldNotes) { noteLayer.removeLayer(oldNotes[id]); } - - noteLoader = null; } } };