как реализовать кнопку повтора для вызова api ax ios - PullRequest
0 голосов
/ 27 мая 2020

У меня есть вызов api, который проверяет, действителен ли мобильный телефон, и всякий раз, когда он выходит из строя из-за ошибки http 50x, я хотел бы иметь возможность нажать кнопку «повторить попытку», и он вызовет api, который потерпел неудачу, без вызова функции AuthenticateTel (). Это то, что у меня есть до сих пор.

Я попытался изучить ax ios -retry, но реализация сильно отличается от того, что я пытаюсь сделать, как будто мне не нужен тайм-аут, поскольку это будет пользователь, который попытается повторить попытку api.

index. vue

<template>
  <div>
    <button @click.prevent="authenticateTel()">validate</button>
    <button v-if="errors">retry</button>
  </div>
</template>
export default {
  data() {
    return {
      tel: "12345678910"
    }
  },
  methods: {
    async authenticateTel() {
      this.formReady = false
      let res = await this.$UserApi.authenticateTel({
        tel: this.tel
      })
    },
  }
}

UserApi. js

import qs from "qs"
export default axios => ({
  authenticateTel(params) {
    let config = {
      method: "POST",
      url: "/authenticateTel",
      data: qs.stringify(params)
    }
    return axios(config)
      .then(response => response.data.data)
      .catch(err => {
        throw err
      })
  },
})
...