Οι
Async functions επιστρέφουν πάντα μια υπόσχεση. Εάν η τιμή επιστροφής μιας ασύγχρονης συνάρτησης δεν είναι ρητά υπόσχεση, θα τυλιχθεί σιωπηρά σε μια υπόσχεση. Σημείωση: Παρόλο που η τιμή επιστροφής μιας συνάρτησης async συμπεριφέρεται σαν να είναι τυλιγμένη σε ένα Promise.resolve, δεν είναι ισοδύναμες.
Το firebase επιστρέφει το Promise;
Το Firebase εκπέμπει υποσχέσεις, επομένως τις περισσότερες φορές δεν θα χρειάζεται να δημιουργείτε το δικό σας, απλώς θα καταναλώνετε το Promise API που παράγει το Firebase. Ένα τυπικό κομμάτι κώδικα μπορεί να μοιάζει με αυτό. … Κάθε συνάρτηση CheckoutService επιστρέφει μια υπόσχεση, ώστε να μπορώ να τις αλυσοδένω και να αποφεύγω την κόλαση της επιστροφής κλήσης.
Πώς σχετίζεται το async await με τις υποσχέσεις;
Το
Async/Await είναι μια πιο φανταχτερή σύνταξη για να χειριστείτε πολλαπλές υποσχέσεις με τρόπο σύγχρονου κώδικα. Όταν βάζουμε ασύγχρονη λέξη-κλειδί πριν από μια δήλωση συνάρτησης, θα επιστρέψει μια υπόσχεση και μπορούμε να χρησιμοποιήσουμε τη λέξη-κλειδί αναμονής μέσα σε αυτήν που μπλοκάρει τον κώδικα έως ότου επιλυθεί ή απορριφθεί η υπόσχεση που περιμένει.
Αναμένει η λειτουργία επιστροφής Promise;
Το
await μπορεί να τοποθετηθεί μπροστά από οποιαδήποτε συνάρτηση που βασίζεται σε ασύγχρονες υποσχέσεις για να θέσετε σε παύση τον κώδικά σας σε αυτήν τη γραμμή μέχρι να εκπληρωθεί η υπόσχεση και, στη συνέχεια, να επιστρέψετε την τιμή που προκύπτει. Μπορείτε να χρησιμοποιήσετε την αναμονή όταν καλείτε οποιαδήποτε συνάρτηση που επιστρέφει μια υπόσχεση, συμπεριλαμβανομένων των συναρτήσεων web API.
Είναι η λειτουργία async μια υπόσχεση;
ασύγχρονες συναρτήσεις επιστρέφει μια υπόσχεση. Οι async συναρτήσεις χρησιμοποιούν μια σιωπηρή Promise για να επιστρέψουν το αποτέλεσμά τους. Ακόμα κι αν δεν επιστρέψετε αΥποσχετική συνάρτηση ρητά async διασφαλίζει ότι ο κώδικάς σας μεταβιβάζεται μέσω μιας υπόσχεσης. … Όταν χρησιμοποιείτε το ασύγχρονο αναμονή, φροντίστε να χρησιμοποιήσετε το try catch για χειρισμό σφαλμάτων.