X-Git-Url: https://git.openstreetmap.org./rails.git/blobdiff_plain/66f519d9ccc0efb15645e089c83d2f65ae328ce5..d90f353e5f30c35fdfc61a462fdb39b3504998ce:/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; } } };