Sobes.tech
Middle

Ποιες άλλες μεθόδους του API Promise γνωρίζεις εκτός από το Promise.all;

sobes.tech AI

Απάντηση από AI

Εκτός από το Promise.all, υπάρχουν αρκετές χρήσιμες μέθοδοι στην API των υποσχέσεων:

  • Promise.race(iterable) — επιστρέφει μια υπόσχεση που θα επιλυθεί ή θα απορριφθεί μόλις η πρώτη από τις δοσμένες υποσχέσεις επιλυθεί ή απορριφθεί.

  • Promise.allSettled(iterable) — επιστρέφει μια υπόσχεση που θα επιλυθεί όταν όλες οι δοσμένες υποσχέσεις ολοκληρωθούν (ανεξάρτητα από το αποτέλεσμα), και θα επιστρέψει έναν πίνακα αντικειμένων με την κατάσταση κάθε υπόσχεσης.

  • Promise.any(iterable) — επιστρέφει μια υπόσχεση που θα επιλυθεί με το αποτέλεσμα της πρώτης επιτυχούς υπόσχεσης από αυτές που δόθηκαν; αν όλες απορριφθούν, θα απορριφθεί με ένα AggregateError.

Παράδειγμα χρήσης του Promise.race:

const p1 = new Promise(resolve => setTimeout(() => resolve('Πρώτο'), 500));
const p2 = new Promise(resolve => setTimeout(() => resolve('Δεύτερο'), 100));

Promise.race([p1, p2]).then(result => console.log(result)); // Θα εμφανίσει 'Δεύτερο'