Files
nodeMap/components/mainComponent/hooks/useFetchWebServiceMap.js
ISA c7e948a27a feat: useEffect für WebService-Abfragen in eigenen Hook ausgelagert
- useEffect-Block für API-Abfragen (GIS Stations Status, Measurements, System Static) in `useFetchWebServiceMap.js` ausgelagert
- Verbesserung der Code-Struktur und Übersichtlichkeit in `MapComponent.js`
- Logging hinzugefügt, um API-Abrufe und Fehler besser nachzuverfolgen
- Sicherstellung, dass `localStorage`-Werte korrekt aktualisiert werden
2025-03-11 10:11:00 +01:00

53 lines
2.4 KiB
JavaScript

// /components/mainComponent/hooks/useFetchWebServiceMap.js
import { useEffect } from "react";
import { fetchGisStationsStatusDistrict } from "../../../services/api/fetchGisStationsStatusDistrict";
import { fetchGisStationsMeasurements } from "../../../services/api/fetchGisStationsMeasurements";
import { fetchGisSystemStatic } from "../../../services/api/fetchGisSystemStatic";
const useFetchWebServiceMap = (mapGisStationsStatusDistrictUrl, mapGisStationsMeasurementsUrl, mapGisSystemStaticUrl, setGisStationsStatusDistrict, setGisStationsMeasurements, setGisSystemStatic, setGisSystemStaticLoaded) => {
useEffect(() => {
//console.log("✅ useFetchWebServiceMap wurde ausgeführt!");
const fetchWebServiceMap = async () => {
try {
let requestCount = localStorage.getItem("fetchWebServiceMap") || 0;
requestCount = parseInt(requestCount, 10);
console.log("📡 Starte API-Anfragen...");
const fetchOptions = {
method: "GET",
headers: { Connection: "close" },
};
// GIS Stations Status District abrufen
console.log("⏳ Abrufen von GIS Stations Status District...");
await fetchGisStationsStatusDistrict(mapGisStationsStatusDistrictUrl, setGisStationsStatusDistrict, fetchOptions);
// console.log("✅ fetchGisStationsStatusDistrict erfolgreich!");
requestCount++;
localStorage.setItem("fetchWebServiceMap", requestCount);
// GIS Stations Measurements abrufen
console.log("⏳ Abrufen von GIS Stations Measurements...");
await fetchGisStationsMeasurements(mapGisStationsMeasurementsUrl, setGisStationsMeasurements, fetchOptions);
// console.log("✅ fetchGisStationsMeasurements erfolgreich!");
requestCount++;
localStorage.setItem("fetchWebServiceMap", requestCount);
// GIS System Static abrufen
console.log("⏳ Abrufen von GIS System Static...");
await fetchGisSystemStatic(mapGisSystemStaticUrl, setGisSystemStatic, setGisSystemStaticLoaded, fetchOptions);
//console.log("✅ fetchGisSystemStatic erfolgreich!");
requestCount++;
localStorage.setItem("fetchWebServiceMap", requestCount);
} catch (error) {
console.error("❌ Fehler beim Abrufen der WebService-Daten:", error);
}
};
fetchWebServiceMap();
}, [mapGisStationsStatusDistrictUrl, mapGisStationsMeasurementsUrl, mapGisSystemStaticUrl]);
};
export default useFetchWebServiceMap;