I have the following code below that creates a new MongoDB document using Mongoose which does work.
async function createQuiz(questions, quizDetails) {
const { quizName, minPoints, maxPoints } = quizDetails;
try {
const quiz = await Quiz.create({
quizName,
minPoints,
maxPoints,
questions,
})
if (quiz) console.log("success");
} catch (e) {
console.log(e.message);
}
}
createQuiz(questions, quizDetails);
However, if I replace the console.log
statements with return
statements shown in the code below, it suddenly stops working.
async function createQuiz(questions, quizDetails) {
const { quizName, minPoints, maxPoints } = quizDetails;
try {
const quiz = await Quiz.create({
quizName,
minPoints,
maxPoints,
questions,
})
if (quiz) return "success";
} catch (e) {
return e.message;
}
}
console.log(createQuiz(questions, quizDetails));
With the return
statements, the console logs "Promise { pending }." But why doesn't it log that same statement when the console.log
was inside the function?