#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, вам нужна асинхронность только в том случае, если обратный вызов выполняет асинхронный код. Это не всегда так, поэтому «асинхронный», как правило, просто играет глупо.