Middle
Lehet-e a promise rejected állapotát a then belsejében kezelni? Mi a különbség a reject kezelésében a második then callback-ben és a catch-ben?
sobes.tech MI
Válasz az MI-től
Igen, a then belsejében kezelheti a elutasított állapotot úgy, hogy egy második callback-et ad át a then-nek:
promise.then(
result => { /* sikeres eredmény kezelése */ },
error => { /* hiba kezelése */ }
);
A különbség a reject kezelésében a then második callback-jében és a catch-ben:
- A then második callback-je csak az eredeti ígéretben fellépő hibákat kezeli.
- A catch elfogja mind az eredeti ígéretben, mind bármely korábbi then-ben fellépő hibákat, ha nem voltak kezelve.
Ezért a catch kényelmesebb a hibák központi kezeléséhez, míg a második callback a then-ben a konkrét ígéret helyi hibakezelésére szolgál.