promise.all против асинхронного модуля против ожидания

Учитывая следующие блоки кода: -

      try {
   const [authors, genres] = await Promise.all([
      Author.find({}).exec(),
      Genre.find({}).exec(),
    ]);
    res.render("book_form", {
      title: "Create Book",
      authors: authors,
      genres: genres,
    });
  } catch (e) {
    next(e);
  }
      const results = await async.parallel({
authors: (callback) => {
  Author.find().exec(callback); 
},
genres: (callback) => {
  Genre.find().exec(callback);
},}) //render
      try{
const genres = await Genre.find({});
const authors = await Author.find({});
res.render("book_form", {
  title: "Create Book",
  authors: authors,
  genres: genres,
});
}
catch(e) {
next(e)
}
      Promise.all([Author.find({}).exec(), Genre.find({}).exec()])   
.then((result) => {
  res.render("book_form", {
    title: "Create Book",
    authors: result[0],
    genres: result[1],
  });
})
.catch((e) => {
  next(e);
});

Есть ли у кого-то из них преимущество перед остальными? Зачем мне использовать асинхронный модуль вместо promise.all? Я понимаю, что сам модуль имеет много разных функций для более сложных задач, но в достаточно простой ситуации нет ничего плохого в том, чтобы выбрать другие подходы вместо него?

0 ответов

Другие вопросы по тегам