Prmise.all() Vs Promise.allSettled() | JS allSettled() Example

Other Blogs

Image could not load

Promise.all()

JavaScript में Promise.all() और Promise.allSettled() functions asynchronous operations को handle करने के लिए use होते हैं , but इनमे कुछ important differences हैं।

और इस article में हम इसी के बारे में बात करेंगे।

JS Promise.all()

Promise.all() function एक promises का array , as an arguments लेता है और एक single promise return करता है जो तब resolve होता है जब Array के सभी promises resolve हो जाते हैं।

अगर Array में से कोई भी promise reject हो जाता है तो , Promise.all() का promise reject हो जाता है और पहला rejected reason return करता है।

JS Promise.all() Example

const promise1 = Promise.resolve("promise1"); const promise2 = new Promise((resolve, reject) => setTimeout(resolve, 100, 'promise2')); const promise3 = Promise.resolve("promise3"); Promise.all([promise1, promise2, promise3]) .then((values) => { console.log(values); // [promise1,promise2,promise3] }) .catch((error) => { console.error(error); });

Example में , सभी promises resolve हो जाते हैं , लेकिन अगर एक भी promise reject हो जाता है तो Promise.all() का promise भी reject हो जायेगा।

For example :

const promise1 = Promise.resolve("promise1 resolved"); const promise2 = Promise.reject("promise2 rejected"); const promise3 = Promise.reject("promise3 rejected"); Promise.all([promise1, promise2, promise3]) .then((values) => { console.log(values); // Error : promise2 rejected }) .catch((error) => { console.error(error); });

Promises In JavaScript

Array In JavaScript

JS Promise.allSettled()

Promise.allSettled() function भी एक promises का array , as an arguments लेता है और एक single promise return करता है जो तब settle होता है जब Array के सभी promises reject / resolve हो जाते हैं।

ये कभी भी reject नहीं होता। ये objects का array return करता है जो हर promise के result को resolved value या rejection reason के साथ describe करता है।

JS Promise.allSettled() Example

अभी ऊपर जो example आपने देखा same example में हम all() की जगह allSttled() का use करेंगे।

const promise1 = Promise.resolve("promise1 resolved"); const promise2 = Promise.reject("promise2 rejected"); const promise3 = Promise.reject("promise3 resolved"); Promise.allSettled([promise1, promise2, promise3]) .then((values) => { console.log(values); });

output

[
  { status: "fulfilled", value: "promise1 resolved" }
​  { status: "rejected", reason: "promise2 rejected" }
  { status: "rejected", reason: "promise3 resolved" }
]

ऊपर दिए गए example में , पहला और तीसरा promise resolve हो रहा है but दूसरा promise reject हो रहा है। Promise.allSettled() इन सभी का result एक array के form में return करता है जिसमे हर promise का status और उसकी value/reason होता है।

Promise.all() vs Promise.allSettled() Summary

  • Promise.all() fail fast behavior exhibit करता है , मतलब agar एक भी promise reject हुआ तो पूरा Promise.all() reject होता है।

  • Promise.allSettled() सभी promises के settle होने का wait करता है , चाहे वो resolve हो या reject. फिर सभी का result return करता है।

  • ये differences asynchronous operations को handle करने के तरिके और specific use cases के according काम आते हैं।

Read more about , promises

Recent Blogs

Loading ...

Hey ! I'm Rahul founder of learnhindituts.com. Working in IT industry more than 4.5 years. I love to talk about programming as well as writing technical tutorials and blogs that can help to others .... keep learning :)

Get connected with me - LinkedIn Twitter Instagram Facebook

Your Thought ?

Please wait . . .

    0 Comment(s) found !