Задать вопрос
@uroot

В чем разница между двумя подходами?

В чём разница этих двух функций:

const campaigns = await getCampaigns()

async function getCampaigns () {
  return await knex('call as cc')
    .where({
      'cc.is_obsolete': false,
      'cc.is_active': true,
    })
    .whereNotIn('cc.type_id', TYPES)
    .select(
      'cc.id',
      'cc.value as config',
      'cc.type_id as sale_type_id'
    )
}

И:

const campaigns = await getCampaigns()

function getCampaigns () {
  return knex('call as cc')
    .where({
      'cc.is_obsolete': false,
      'cc.is_active': true,
    })
    .whereNotIn('cc.type_id', TYPES)
    .select(
      'cc.id',
      'cc.value as config',
      'cc.type_id as sale_type_id'
    )
}

Во втором случае это блокирующий синхронный запрос в БД?
То есть в теории мы можем тут повиснуть надолго?
Или библиотека knex в любом случае делает асинхронную операцию вне зависимости указали мы это или нет и в первом случае await нужен только для того, чтобы дождаться результата выполнения?
  • Вопрос задан
  • 130 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
Alexandroppolus
@Alexandroppolus
кодир
в обоих кейсах getCampaigns возвращает промис с результатом селекта, практической разницы нет
Ответ написан
Ваш ответ на вопрос

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

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