Warum funktioniert es nur dann richtig, wenn ich das Schlüsselwort „await“ verwende?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Warum funktioniert es nur dann richtig, wenn ich das Schlüsselwort „await“ verwende?

by Guest » 11 Jan 2025, 11:26

Code: Select all

        try {
const review = await Review.create({
user: user.userid,
place_id: pid,
stars: stars,
content: content,
});

/* await */ User.findByIdAndUpdate(user.userid, {
$push: {reviews: review._id}
});

res.status(200).json(returnResponse(false, "reviewWritten", "-"));

return;
} catch (error) {
console.error(error);

res.status(500).json(returnResponse(true, "errorAtReviewWriting", "-"));

return;
}
Ich habe den Code wie oben gezeigt geschrieben.
Ich dachte, da ich den Rückgabewert von User.findByIdAndUpdate nicht benötige, tue ich es nicht Sie müssen nicht das Schlüsselwort „await“ verwenden und es asynchron laufen lassen. Warum funktioniert es nur dann richtig, wenn ich das Schlüsselwort „await“ verwende?
Wenn ich das Schlüsselwort „await“ nicht verwende, wird es überhaupt nicht aktualisiert. Im wahrsten Sinne des Wortes.
Ich habe überprüft, dass die Daten nach dem Speichern überhaupt nicht von der Methode findById() bearbeitet wurden.
Und der Fehler war nicht der Fall auftreten, da der zurückgegebene Antwortcode 200 war.

Top