Junior — Middle
Πώς πραγματοποιείται η ταυτόχρονη εκτέλεση πολλαπλών υποσχέσεων με το Promise.all και πώς διαχειρίζονται τα αποτελέσματά τους;
sobes.tech AI
Απάντηση από AI
Το Promise.all επιτρέπει την εκτέλεση πολλαπλών υποσχέσεων ταυτόχρονα και την αναμονή μέχρι να ολοκληρωθούν όλες. Δέχεται έναν πίνακα υποσχέσεων και επιστρέφει μια νέα υπόσχεση που:
- Εξακολουθεί να επιλύεται με επιτυχία αν όλες οι υποσχέσεις στον πίνακα ολοκληρωθούν με επιτυχία. Σε αυτήν την περίπτωση, το αποτέλεσμα θα είναι ένας πίνακας τιμών που αντιστοιχούν σε κάθε υπόσχεση με την ίδια σειρά.
- Απορρίπτεται αν τουλάχιστον μία από τις υποσχέσεις απορριφθεί, και επιστρέφει το σφάλμα της πρώτης απορριφθείσας υπόσχεσης.
Παράδειγμα χρήσης:
const promise1 = Promise.resolve(1);
const promise2 = Promise.resolve(2);
const promise3 = Promise.resolve(3);
Promise.all([promise1, promise2, promise3])
.then(results => {
console.log(results); // [1, 2, 3]
})
.catch(error => {
console.error('Μία από τις υποσχέσεις απορρίφθηκε:', error);
});
Έτσι, το Promise.all είναι χρήσιμο για την ταυτόχρονη εκτέλεση πολλαπλών ασύγχρονων λειτουργιών και την επεξεργασία των αποτελεσμάτων τους μετά την ολοκλήρωση όλων.