Express-Route sendet Antwort, bevor der asynchrone Vorgang abgeschlossen ist (kein Fehler, aber Daten sind undefiniert)JavaScript

Javascript-Forum
Anonymous
 Express-Route sendet Antwort, bevor der asynchrone Vorgang abgeschlossen ist (kein Fehler, aber Daten sind undefiniert)

Post by Anonymous »

Ich stehe vor einem Problem, bei dem meine API undefiniert zurückgibt, obwohl die Datenbankabfrage erfolgreich ausgeführt wird.
  • API antwortet mit undefiniertem oder leerem Objekt
  • Es wird kein Fehler ausgegeben
  • Konsolenprotokolle innerhalb der Datenbankabfrage zeigen korrekte Daten an
  • Antwort wird gesendet, bevor die Daten verfügbar sind

    Code: Select all

    app.get("/api/user/:id", (req, res) => {
    let user;
    
    User.findById(req.params.id)
    .then((data) => {
    console.log("Fetched user:", data);
    user = data;
    })
    .catch((err) => {
    console.error(err);
    });
    
    res.json(user);
    });
    
    
    Ich habe versucht
    • Konsolenprotokollierung in .then() (Daten vorhanden)
    • Code in try/catch einschließen
    • Server neu starten
    Warum? user wird in der Antwort undefiniert, obwohl die Datenbankabfrage korrekte Daten zurückgibt, und wie kann dies in Express richtig gehandhabt werden?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post