Omnicake
@Omnicake
Начинающий web-разработчик.

Как корректно обработать двойной запрос к API и MongoDB на сервере?

Есть задача:
При запросе к серверу на express.js искать данные на стороннем API и выдавать пользователю. При этом, при запросе необходимо проверять, нет ли данной записи в базе данных MongoDB и если нет - то создать.
Пока в запросе req.query всего один параметр с одним значением алгоритм выглядит простым:
1. Послать запрос.
2. С помощью полученных данных поискать запись в БД.
3. Если записи нет - создать и отправить пользователю, если есть - отправить найденную.

Но требования задачи такие, что параметр может содержать два значения. Тогда алгоритм, с учётом асинхронности кода значительно усложняется и содержит много дублирующих операций (по крайней мере в моей реализации):
1. Послать запрос первого значения.
2. Поискать в БД.
3. Если не найдено, то создать.
4. Послать запрос второго значения и повторить п.2 и п.3.
5 Выдать результат с обеими записями.

В коде это выглядит мешаниной if else а также кучей промисов.

Есть ли какое-то более оптимальное решение, которое я упускаю и где можно почитать об этом?
  • Вопрос задан
  • 59 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы