Преимущество асинхронного кода на стороне сервера? - PullRequest
0 голосов
/ 27 января 2019

Предположим, у меня есть конечная точка API, написанная на JavaScript, такая как сценарий A и сценарий B ниже (обратите внимание, это псевдокод в целях иллюстрации). Результат вызова базы данных и результаты функции A и функции B должны быть возвращены сервером одновременно.

Примечание: мой вопрос не о том, как работает асинхронный код.

Сценарий A - асинхронный

db_connection.async_query(sql)
  .then( result => {
    functionA(result);
  })
  .then( result => {
    functionB(result);
  })

Сценарий B - синхронно

const result = db_onnection.sync_query(sql)
functionA(result)
functionB(result)

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

У меня довольно сложное приложение с асинхронным кодом в браузере, которое имеет смысл, но мне интересно, добавляет ли оно ненужную сложность на стороне сервера, так как в конечном итоге я все равно возвращаю результат всего сразу.

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

В чем преимущество асинхронной версии этих двух сценариев?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...