В чём разница этих двух функций:
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 нужен только для того, чтобы дождаться результата выполнения?