Vuex async / ожидание при отправке - PullRequest
0 голосов
/ 05 августа 2020

Я использую asyn c await для отправки действия, но он очищает входные данные формы до отправки формы, и я получаю пустые значения, как мне сначала отправить форму, а затем очистить ее?

    async submit() {
      try {
         await this.$store.dispatch('AddDelivery', this.form)
      } catch (error) {
        return
      } finally {
        this.form.firstName 
        = this.form.lastName 
        = this.form.address1 
        = this.form.address2 
        = this.form.postcode 
        = this.form.city 
        = this.form.phone 
        ='';

      }
    }

1 Ответ

0 голосов
/ 06 августа 2020

Ваше действие AddDelivery должно возвращать обещание. Затем используйте, как показано ниже

const addDelivery = async function() {
  try {
    return this.$store.dispatch('AddDelivery', this.form)
  } catch (error) {
    return
  }
}
function submit() {
  addDelivery().then(() => {
    console.log('Clear data here')
    this.form.firstName 
    = this.form.lastName 
    = this.form.address1 
    = this.form.address2 
    = this.form.postcode 
    = this.form.city 
    = this.form.phone 
    ='';
  })
}

или

function submit() {
      this.$store.dispatch('AddDelivery', this.form)
        .then(() => {
        console.log('Clear data here')
        this.form.firstName 
        = this.form.lastName 
        = this.form.address1 
        = this.form.address2 
        = this.form.postcode 
        = this.form.city 
        = this.form.phone 
        ='';
      })
    }
...