const getTodos = (callback) => { // im Fall, dass das Request erfolreich abgeschlossen ist (DONE Status (4)) und dass das Request den Status-Code 200 hat, gib die callback Methode 
                                // Daten im Art des JSON Objectes zurück (JSON.parse(request.responseText)), andernfalls gib sie den Fehler zurück 

    const request = new XMLHttpRequest(); // Erstellung eines XML HTTP Requests

    request.addEventListener("readystatechange", () => {
        // console.log(request, request.readyState);
        if (request.readyState === 4 && request.status === 200) {
            const data = JSON.parse(request.responseText)
            callback(undefined, data);
            // console.log(request, request.responseText);
        } else if (request.readyState === 4) {
            callback("could not fetch the data", undefined);
        }
    });

    // request.open("GET", "https://jsonplaceholder.typicode.com/todos/"); // fördert Daten von jsonplaceholder API
    request.open("GET", "todos.json"); // fördert Daten von der localen JSON Datei
    request.send()
}

getTodos((err, data) => {
    console.log("callback fired");
    if (err) {
        console.log(err);
    } else {
        console.log(data);
    }
});
