Dino Geek, versucht dir zu helfen

Wie gehe ich mit Fehlern bei Promises um?


Promises sind in JavaScript sehr wichtig für asynchrones Verhalten, wie zum Beispiel Datenbankaufrufe oder AJAX-Anfragen. Wenn man allerdings Promises verwendet, sollte man auch wissen, wie man mit Fehlern umgeht.

Ein wichtiges Element der Fehlerbehandlung bei Promises ist das `.catch`-Block, das immer am Ende der Promise-Kette stehen sollte. Der `.catch`-Block wird aufgerufen, wenn ein Fehler in einer Promise aufgetreten ist.

```javascript
let promise = new Promise((resolve, reject) => { throw new Error(“Fehler!”);
});

promise.catch(error => console.log(error.message)); // “Fehler!“
```

In dem obigen Code wird eine neue Promise erstellt. Innerhalb der Promise wird ein Fehler geworfen und diese Promise wird sofort abgelehnt. Das `.catch`-Block, das folgt, behandelt den Fehler, indem es die Fehlermeldung loggt.

Manchmal möchten Sie vielleicht spezifische Aktionen für bestimmte Fehler ausführen. In diesem Fall können Sie verschiedene `.catch`-Blöcke hinzufügen und mit dem Fehler `throw` weiterleiten, wenn Sie ihn nicht behandeln können.

```javascript
promise .catch(error => { if (error instanceof SpecificError) { // Behandle spezifischen Fehler } else { // Unbekannte Fehler werfen throw error; } }) .catch(error => { // Behandle jeden anderen Fehler });
```

Beachten Sie, dass jeder `.catch`-Block den Fehler fängt, der im vorhergehenden Promise oder `.then`-Block aufgetreten ist. Es ist wichtig zu verstehen, dass, wenn Sie einen Fehler innerhalb eines `.catch`-Block werfen, dieser von einem nachfolgenden `.catch`-Block gefangen werden muss. Ansonsten wird der Fehler stillschweigend ignoriert.

Es ist auch wichtig zu wissen, dass `Promise.all` und `Promise.race` ein Versprechen ablehnen, wenn eines der übergebenen Versprechen abgelehnt wird. In diesen Fällen sollten Sie auch `.catch` verwenden, um Fehler zu behandeln.


Erstellen Sie einfach Artikel, um Ihr SEO zu optimieren
Erstellen Sie einfach Artikel, um Ihr SEO zu optimieren





DinoGeek bietet einfache Artikel über komplexe Technologien

Möchten Sie in diesem Artikel zitiert werden? Es ist ganz einfach, kontaktieren Sie uns unter dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Domain | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Rechtliche Hinweise / Allgemeine Nutzungsbedingungen