У меня есть вызов 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
})
},
})