𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗼𝗺𝗶𝘀𝗲𝘀
Promise inawakilisha matokeo ya kazi ya asynchronous.
Unatumia Promises kwa ajili ya API calls, database queries, na kusoma faili.
Promise ina hali tatu:
- Pending: Kazi bado inaendelea.
- Fulfilled: Kazi imekamilika kwa mafanikio.
- Rejected: Kazi imefeli kutokana na hitilafu.
Muundo unaonekana hivi:
const promise = new Promise((resolve, reject) => { // Executor hukimbia mara moja });
Unashughulikia matokeo kwa kutumia njia hizi:
- .then(): Hukimbia wakati promise inapofanikiwa.
- .catch(): Hukimbia wakati promise inapofeli.
- .finally(): Hukimbia wakati kazi inapomalizika bila kujali matokeo.
Sheria muhimu za kukumbuka:
- Matokeo ya kwanza ndiyo hushinda. Ukipiga resolve() kisha ukapiga reject(), resolve ndiyo hushinda.
- Function ya executor hukimbia synchronously.
- Kutumia async na await hufanya kodi yako iwe rahisi kusoma kuliko kutumia .then().
Kushughulikia promises nyingi:
- Promise.all(): Hufuata mbinu ya 'fail-fast'. Ikiwa promise moja itafeli, kundi zima litafeli.
- Promise.allSettled(): Husubiri kila promise imalize. Hurudisha matokeo hata kama baadhi ya kazi zimefeli.
Muhtasari:
- Promise: Mshughulikiaji wa matokeo ya asynchronous.
- resolve: Huashiria mafanikio.
- reject: Huashiria kufeli.
- async/await: Njia safi zaidi ya kuandika promises.
- Promise.all: Husimama kwenye hitilafu ya kwanza.
- Promise.allSettled: Humaliza kazi zote.
