𝗝𝗮𝘃𝗮𝗦𝗰𝗿𝗶𝗽𝘁 𝗣𝗿𝗼𝗺𝗶𝘀𝗲𝘀

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.

Chanzo: https://dev.to/malik786/javascript-promises-2hn4