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

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

Βίντεο: Μπορώ να χρησιμοποιήσω την αναμονή χωρίς ασυγχρονισμό;
Βίντεο: Πώς να αποκαλύψεις έναν οποιονδήποτε αποθηκευμένο κωδικό 2024, Μάρτιος
Anonim

Όχι. Το αναμένω χειριστής έχει νόημα μόνο σε ένα ασυγχρονισμός λειτουργία.

Ομοίως, μπορείτε να ρωτήσετε, τι θα συμβεί αν καλέσω τη μέθοδο ασύγχρονης χωρίς αναμονή;

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

Επίσης, γνωρίζετε, μπορείτε να περιμένετε μια μη υπόσχεση; αναμένω δεν είναι ένα no-op. Αν το αναμενόμενο δεν είναι α υπόσχεση , είναι τυλιγμένο σε α υπόσχεση , ότι υπόσχεση αναμένεται. Επομένως αναμένω αλλάζει τη σειρά εκτέλεσης (αλλά εσείς δεν πρέπει να βασίζεται σε αυτό ωστόσο): κονσόλα.

Γνωρίζετε επίσης, μπορείτε να περιμένετε μια λειτουργία async;

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

Τι είναι το async and await στο C#;

Ασυγχρονισμός και αναμονή είναι οι δείκτες κωδικών, οι οποίοι επισημαίνουν τις θέσεις κώδικα από τις οποίες θα πρέπει να συνεχιστεί ο έλεγχος μετά την ολοκλήρωση μιας εργασίας. Ας ξεκινήσουμε με πρακτικά παραδείγματα για την κατανόηση της έννοιας του προγραμματισμού. Δείγματα παραδείγματα του ασυγχρονισμός και αναμονή λέξη-κλειδί σε ΝΤΟ# Θα λάβουμε μια εφαρμογή κονσόλας για την επίδειξη μας.

Συνιστάται: