Sobes.tech
Junior — Middle

Μπορείτε να εξηγήσετε την έννοια του ασύγχρονου προγραμματισμού χρησιμοποιώντας τις λειτουργίες Async και Await;

sobes.tech AI

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

Η ασύγχρονη προγραμματισμός στο Node.js επιτρέπει την εκτέλεση λειτουργιών εισόδου/εξόδου (όπως η ανάγνωση αρχείων, ερωτήματα σε βάσεις δεδομένων, αιτήματα δικτύου) χωρίς να μπλοκάρει το κύριο νήμα εκτέλεσης. Αυτό επιτυγχάνεται με τις λέξεις-κλειδιά async και await.

  • Το async πριν από μια συνάρτηση σημαίνει ότι η συνάρτηση επιστρέφει μια Promise και μπορεί να χρησιμοποιεί await μέσα της.
  • Το await παγώνει την εκτέλεση της συνάρτησης μέχρι η Promise να ολοκληρωθεί ή να απορριφθεί, επιτρέποντας να γράφουμε ασύγχρονο κώδικα με τρόπο που μοιάζει με συγχρονικό.

Παράδειγμα:

const fetch = require('node-fetch');

async function getData() {
  try {
    const response = await fetch('https://api.example.com/data');
    const data = await response.json();
    console.log(data);
  } catch (error) {
    console.error('Σφάλμα:', error);
  }
}

getData();

Σε αυτό το παράδειγμα, το await κάνει τη συνάρτηση να περιμένει την απάντηση από το fetch χωρίς να μπλοκάρει ολόκληρο το ρεύμα του Node.js. Αυτό απλοποιεί τη διαχείριση ασύγχρονου κώδικα και βελτιώνει την αναγνωσιμότητα σε σύγκριση με τη χρήση αλυσίδων .then().