sonjavanteese
2/26/2020 - 6:12 PM

[Custom Fetch Event] fired when fetch finished #fetch #json

[Custom Fetch Event] fired when fetch finished #fetch #json

const fetchJson = (url, fn) => {
	fetch(url)
	  .then(response => response.json())
    .then(json => fn(json))
    .then(addDataReadyEvent)
	  .catch(ex => {
		console.log('parsing failed: ', ex);
	  });
}

const dataDB = {
  name: "dataDB",
  view: "0",
  img_url: "",
  dbs: ["hsp"],
  hsp: {
    data1: [],
    data2: []
  }
};



const hspDbSet = (data) => {
    dataDB.img_url = data.img_url;
    dataDB.hsp.data1 = data.hsp1;
    dataDB.hsp.data2 = data.hsp2;
    console.log("hspDbSet", dataDB);
    dataReady();
}

const initData = (url) => {
  fetchJson("https://nwp-cgn.de/api/hsp/", hspDbSet);
}


const dbDataEvent = new Event('dbDataReady');
const addDataReadyEvent = () => document.dispatchEvent(dbDataEvent);

document.addEventListener('dbDataReady', () => {
  console.log("DB-Data Ready!");
  alert("DB-Data Ready!")
});