Sobes.tech

Ποια είναι η διαφορά μεταξύ Promise.any και Promise.race;

200

* Η λειτουργία λαμβάνει έναν πίνακα υποσχέσεων (υποθέτουμε ότι δεν είναι άδειος) και επιστρέφει μια υπόσχεση. * Αν κάποια από τις δοσμένες υποσχέσεις επιλυθεί (εκτελεστεί με επιτυχία), τότε η επιστρεφόμενη υπόσχεση επιλύεται με αυτήν την τιμή. * Αν πολλές υποσχέσεις ολοκληρωθούν με επιτυχία, τότε η επιστρεφόμενη υπόσχεση * επιλύεται * με την πρώτη επιτυχημένη τιμή, ανεξάρτητα από τη σειρά των υποσχέσεων στον πίνακα. * Αν όλες οι δοσμένες υποσχέσεις απορριφθούν, τότε η επιστρεφόμενη υπόσχεση απορρίπτεται με ένα σφάλμα τύπου AggregateError, που ομαδοποιεί όλα τα σφάλματα, λαμβάνοντας υπόψη τη σειρά των υποσχέσεων. * Το AggregateError μπορεί να δημιουργηθεί ως εξής: new AggregateError(errors, 'No Promise in any was resolved') function any(promises) { // ο κώδικάς σας εδώ }

174

Τι θα συμβεί αν μια από τις υποσχέσεις απορριφθεί στη λειτουργία sumPromises;

162

Ποια είναι η διαφορά μεταξύ Promise.all και Promise.allSettled;

161

Τι θα συμβεί αν δεν περάσετε καμία υπόσχεση στη λειτουργία sumPromises;

161

Γιατί τα λάθη στη λειτουργία any δεν μπορούν να προστεθούν μέσω push, αλλά πρέπει να γραφούν με δείκτη;

157

Τι συμβαίνει αν περάσετε μια κενή λίστα λειτουργιών στο compose;

157

Υλοποιήστε τη λειτουργία sumPromises, η οποία δέχεται υποσχέσεις ως επιχειρήματα και επιστρέφει το άθροισμα των αποτελεσμάτων τους. Η λειτουργία μπορεί να δέχεται οποιονδήποτε αριθμό επιχειρημάτων. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε API υποσχέσεων.

141

Υλοποιήστε μια συνάρτηση compose που δέχεται μεταβλητό αριθμό συναρτήσεων και επιστρέφει μια νέα συνάρτηση. Το αποτέλεσμα κάθε συνάρτησης περνάει στην επόμενη.

139

Υλοποιήστε τη συνάρτηση isMonotonic, η οποία δέχεται έναν πίνακα αριθμών και καθορίζει αν είναι μονοτονικός (αυξανόμενος ή φθίνων). Επιστρέφει true αν ο πίνακας είναι μονοτονικός, διαφορετικά false. Υλοποιήστε με γραμμική πολυπλοκότητα O(n).

134

Γιατί μπορεί να χρειαστεί η μέθοδος apply στην υλοποίηση του runOnce;

134

Ξέρεις το μοτίβο pipe; Πώς διαφέρει από το compose;

130

Ποια επιλογή θα είναι πιο γρήγορη: μέσω Promise.all ή μέσω βρόχου με await σε κάθε βήμα; Γιατί;

128

Υλοποιήστε μια λειτουργία runOnce που λαμβάνει μια λειτουργία και επιστρέφει μια νέα λειτουργία. Η νέα λειτουργία μπορεί να κληθεί μόνο μία φορά, όλες οι επόμενες κλήσεις επιστρέφουν undefined. Η τυλιγμένη λειτουργία μπορεί να δέχεται επιχειρήματα και να επιστρέφει αποτέλεσμα.

128

Για ποιο λόγο χρειάζεται ο μετρητής rejectedCount; Γιατί δεν κοιτάμε απλώς το μήκος του πίνακα errors;

120