Ποια είναι η χρήση της αναμονής στον κόμβο JS;
Ποια είναι η χρήση της αναμονής στον κόμβο JS;

Βίντεο: Ποια είναι η χρήση της αναμονής στον κόμβο JS;

Βίντεο: Ποια είναι η χρήση της αναμονής στον κόμβο JS;
Βίντεο: Το πλήρες μάθημα Redux Toolkit + RTK Query για αρχάριους | Redux σε 2 ώρες! 2024, Δεκέμβριος
Anonim

Με Κόμβος v8, το async/ αναμένω η λειτουργία κυκλοφόρησε επίσημα από το Κόμβος να ασχοληθεί με τις Υποσχέσεις και τη λειτουργία αλυσίδων. Οι λειτουργίες δεν χρειάζεται να συνδέονται η μία μετά την άλλη, απλά αναμένω η συνάρτηση που επιστρέφει το Promise. Αλλά η συνάρτηση async πρέπει να δηλωθεί πριν σε αναμονή μια συνάρτηση που επιστρέφει μια υπόσχεση.

Με αυτόν τον τρόπο, πώς χρησιμοποιείτε την αναμονή;

ο αναμένω λέξη-κλειδί Αυτό μπορεί να τοποθετηθεί μπροστά από οποιαδήποτε συνάρτηση που βασίζεται σε ασύγχρονες υποσχέσεις για να θέσετε σε παύση τον κώδικά σας σε αυτήν τη γραμμή μέχρι να εκπληρωθεί η υπόσχεση και, στη συνέχεια, να επιστρέψετε την τιμή που προκύπτει. Στο μεταξύ, άλλος κώδικας που μπορεί να περιμένει την ευκαιρία να εκτελεστεί μπορεί να το κάνει.

Στη συνέχεια, το ερώτημα είναι, ποιο είναι το νόημα της αναμονής ασυγχρονισμού; Ασύγ / αναμένω επιτρέπει να γίνει πολύπλοκο ασύγχρονος ο κώδικας φαίνεται τόσο απλός όσο και ο σύγχρονος. Κάνει γραφή ασύγχρονος κώδικας πολύ πιο εύκολο. Όπως σημειώσατε στη δική σας ερώτηση, φαίνεται σαν να γράφατε τη σύγχρονη παραλλαγή - αλλά στην πραγματικότητα είναι ασύγχρονος.

Λοιπόν, γιατί χρησιμοποιούμε το async και την αναμονή σε JavaScript;

Ασύγ / Αναμένω δημιουργήθηκε για να απλοποιήσει τη διαδικασία συνεργασίας και σύνταξης αλυσιδωτών υποσχέσεων. Ασύγ λειτουργίες επιστρέφουν μια υπόσχεση. Εάν η συνάρτηση εμφανίσει σφάλμα, το Promise θα απορριφθεί. Εάν η συνάρτηση επιστρέψει μια τιμή, το Promise θα επιλυθεί.

Πώς λειτουργεί η ασύγχρονη αναμονή;

Παρουσιάστηκε η JavaScript ES8 ασυγχρονισμός / αναμένω που κάνει το δουλειά του εργαζόμενος με τις Υποσχέσεις πιο εύκολα. Ενα ασυγχρονισμός η συνάρτηση μπορεί να περιέχει ένα αναμένω έκφραση, που διακόπτει την εκτέλεση της συνάρτησης και περιμένει την επίλυση του Promise που πέρασε και μετά συνεχίζει την ασυγχρονισμός εκτέλεση της συνάρτησης και επιστρέφει την επιλυμένη τιμή.

Συνιστάται: