Może ktoś wytłumaczyć jak dokładnie działa catch. Powiedzmy, że mamy taki kod:
const url = "example API endpoint"
fetch(url)
.then((res) => { // --> console.log po throw nie zostanie wywołany
throw "Error occured";
console.log(res);
res.json()
})
.then((user) => {
console.log("json object")) // --> callback nie zostaje wywołany
}
.catch((err) => console.log(err))
Skoro druga metoda .then(user=>{}) nie zostaje wywołana ponieważ w poprzedniej metodzie łańcucha wyrzuciło wyjątek throw, to jak wiadomość z throw pomija kolejne .then i wywołuje .catch na końcu łańcucha wywołań? W końcu .catch jest zwracane z drugiego .then który nie został nawet wywołany.