Можно ли сделать Asyn c отправку из другого действия? - PullRequest
0 голосов
/ 18 февраля 2020

Я чувствую, что где-то сталкиваюсь с расой. Это единственная часть моего приложения, где я отправляю асинхронное действие c. Является ли делать ниже правильный путь? Или мне нужно обернуть возврат Promise внутри asyncActionTwo?

async asyncActionOne ({state, dispatch}, val) {

    const {success} = await APIService.seats.increment(val)

    if (!success) {
        return router.push({name: 'ErrorNotFound'})
    }

    await dispatch('asyncActionTwo')
},
async asyncActionTwo ({commit}) {
    const {id, pwd} = router.history.current.params
    if (!(id && pwd)) {
        console.error(`No credentials: id: ${id}, pwd: ${pwd}`)
        return router.push({name: 'ErrorNotFound'})
    }
    const response = await APIService.cart.getPrice({id, pwd})
    const {success, previewResult} = response

    if (!success || !previewResult) {
        console.error('No Preview Result --> ', previewResult)
        return router.push({name: 'ErrorNotFound'})
    }

    commit('setPriceData', previewResult.invoices[0])

    return response
},
...