If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
JavaScript में Promise.all()
और Promise.allSettled()
functions asynchronous operations को handle करने के लिए use होते हैं , but इनमे कुछ important differences हैं।
और इस article में हम इसी के बारे में बात करेंगे।
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 करता है।
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);
});
●●●
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 करता है।
अभी ऊपर जो 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() 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
●●●
Loading ...