【发布时间】:2017-04-15 09:56:45
【问题描述】:
如果最初失败,我正在尝试让我的 ajax 调用重试。如果初始 ajax 调用失败并超时 5 秒,它每次执行 3 次。该函数作为方法导入我的 vue 组件并在 ready() 上调用
export function getOrderStatus (order) {
let url = `/orders/status/${order.id}`
let promise = this.$http.get(url)
function retry(order, path, promise, retryAttempt) {
promise.then((response) => {
if (response.body.status === 'success') {
showOrderStatus()
}
}, (response) => {
if (retries < 2) {
retryAttempt++
setTimeout(retry(order, path, promise, retryAttempt), 5000);
} else {
handleError()
}
})
}
retry(order, path, promise, 0)
}
组件
import { getOrderStatus } from '../shared'
export default {
name: 'order-page',
props: { order },
methods: { getOrderStatus },
ready() {
this.getOrderStatus(order)
}
}
我不确定这是否是重试 ajax 调用的最佳方式,因此不胜感激。
【问题讨论】:
标签: javascript ajax vue.js vue-resource