Vue 3. Асинхронная функция не завершает выполнение в хуке onMounted при использование await
onMounted(async () => {
try {
if (chosenRealty.value) {
// асинхронная функция возвращает promise (если вывести результат в console.log)
await getPayments()
// асинхронная функция возвращает promise (если вывести результат в console.log)
await getServices()
}
} catch (error) {
throw error
}
})
** Если убрать ключенвое слово await перед getPayments() то все работает корректно. При этом если выводить результат выполнения getPayments() в console.log() то выводиться Promise **
const getPayments = async () => {
try {
const res = await store.dispatch('realties/fetchPayments', {
page: lastSelectionPage.value,
service_id: selectedService.value,
organization_id: selectedOrganizations.value,
status: statuses[selectedStatus.value]?.id,
date_start: timestampStart.value,
date_end: timestampEnd.value
})
paymentsData.value = res.data.data
paymentsPagination.value = res.data.pagination
loading.value = false
return res
} catch (error) {
throw error
}
}