Почему я должен использовать асинхронную функцию в обратном вызове в промежуточном программном обеспечении MongoDB?

#mongodb #asynchronous #async-await #middleware

#mongodb #асинхронный #асинхронный-ожидание #промежуточное программное обеспечение

Вопрос:

Итак, я читаю курс по веб-разработке, и я занимаюсь промежуточным программным обеспечением MongoDB, и я заметил, что учитель использовал асинхронную функцию вместо простой, и я действительно не вижу разницы, я имею в виду, я понимаю концепцию, но я не вижу, как это изменит поведение кода.

 personSchema.pre("save", async function(){
    console.log("Saving...");
});

personSchema.post("save", async function(){
    console.log("SAVED!");
});
 

Комментарии:

1. Если функция обратного вызова включает в себя операцию с БД, она должна разрешить await или отклонить обещание. Вот почему ваше промежуточное программное обеспечение имеет async function()

2. Да, теперь я понял, я пробовал без ключевого слова async, и поведение было таким же (в моем простом случае), спасибо!

3. Если ваша функция обратного вызова не включает асинхронную операцию, нет смысла использовать async ключевое слово перед function

4. Эта функция callback( ) из команды сохранения . Как было сказано @OzgurSar, вам нужна асинхронность только в том случае, если обратный вызов выполняет асинхронный код. Это не всегда так, поэтому «асинхронный», как правило, просто играет глупо.