min.js
Vue.http.interceptors.push(function(request, next) {
let timeout;
if (request._timeout) {
timeout = setTimeout ( () => {
if (request.onTimeout) {
request.onTimeout (request);
request.abort()
}
}, request._timeout);
}
next(function(response) {
clearTimeout(timeout);
return response
})
})
page.vue
this.$http.post(url, {
_timeout: 2000, // 设置超时两秒
onTimeout: function (res) {
alert('请求失败')
}
})
.then( (res) => {
// ..
}, (res) => {
// 失败回调
})
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。