dedlfix: Verstehe einer Promises

Beitrag lesen

problematische Seite

Tach!

im Fehlerfall kommt serverseitig status != 200, wie krieg ich da den Responsetext ausgegegen?

    fetch('%url%?fetch='+nr).then(function(response) {
        return response.status == 200 ? response.text() : 'Fehler: '+response.text();
    }).then(function( text ) {
        pretext(text);
    });

Wenn status == 200 ist, krieg ich den text, anderweitig jedoch [object Promise]

Wenn du ein Promise siehst, dann ist das der Rückgabewert von fetch() oder then(). Innerhalb der then()-Callbacks bekommst du das Promise-Objekt nicht übergeben.

Außerdem wird bei Netzwerkfehlern (404 gehört nicht dazu, das ist eine normale HTTP-Antwort) das Promise nicht erfüllt und die Callbacks in then() werden nicht aufgerufen. Auf Netzwerkfehler kannst du im catch()-Callback reagieren.

dedlfix.