Как стать автором
Обновить
1
0
Владлен @Negezor

Full Stack Developer

Отправить сообщение

Если вспомнить похожие сервисы, то в первую очередь в голову приходит trace.moe для аниме. Он базируется на поиске изображений по содержимому.

Появился более интересный вариант, теперь получаем youtube-dl через репозиторий dmca.

В самом репозитории github/dmca люди предлагают интересные PR.

А ничего на замену и не нужно добавлять, вы можете импортировать любую библиотеку для работы с EventEmitter. К тому же можно сделать ещё удобнее с помощью хука что-то подобное:
const { on } = useEventBus();

on('my-event', (event) => {
  // ...
});

В хуке соотвественно можно прикрутить автоматическую отписку при unmounted.

Если речь идёт про события из дочерних компонентов, то можно просто передавать обратные вызовы.

Задачу вполне можно было решить разделением бэкэнда и фронтеда (просто запустив их раздельно). Раньше тоже объединял GraphQL API и Nuxt.js в один процесс, неудобств значительно больше, чем выгоды от их объединения.

А можно узнать где именно идёт деградация производительности? В основе Node.js до сих пор используются потоки, реализованные через Observer как и многие другие вещи. Мне кажется вы путаете упрощение с усложнением, так-как читать «реактивный код» на примере с Rx.js сложнее чем последовательные вызовы. Как я уже и писал выше, если программист отдаёт отчёт о том что он делает, такие банальные ошибки не будут допущены.

Можно, но зачем? Код с применением async/await становится более лаконичный для чтения, так же его проще дебажить, так как там нет бесконечных цепочек .then() в stack trace. И что вы понимаете под
Зачем ждать чего-то, чего ждать не совсем обязательно?

А разве обычно не строится концепт на ожидании результата? Если речь идёт про последовательные обещания, то решение досточно простое. Всё можно запустить паралельно, нужно запустить паралельно.

В любой технологии можно прострелить себе ногу, если не уметь грамоно ей распоряжаться.
Вот правильный подход к написанию такого кода:
async getBooksAndAuthor(authorId) {
  const bookPromise = bookModel.fetchAll();
  const authorPromise = authorModel.fetch(authorId);
  const book = await bookPromise;
  const author = await authorPromise;
  return {
    author,
    books: books.filter(book => book.authorId === authorId),
  };
}


Замечу что не обязательно писать именно так, обычно пишут вот такие конструкции, так как они проще:
async getBooksAndAuthor(authorId) {
  const [book, author] = await Promise.all([
    bookModel.fetchAll(),
    authorModel.fetch(authorId)
  ]);

  return {
    author,
    books: books.filter(book => book.authorId === authorId),
  };
}

Учитывая всё это пакет passport-jwt не нужен, можно обойтись express-jwt.


И разве с помощью JWT токена нельзя лишний раз не обращаться в базу за пользователем? Конечно я понимаю что это пример, но сессии здесь явно будут излишними.

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность