如何处理axios中的空响应?
问题描述:
我使用axios
与vue.js
来获取数据为无限分页。它工作正常,预计在没有数据来呈现:如何处理axios中的空响应?
fetchData() {
this.loading = true
this.page++;
axios.get(this.BASE_URL + '/api/jokes/'+'?page='+this.page).then(
response =>
//how to exist if there is no data in the response?
this.jokes = response.data).catch(function (error) {
console.log(error);
});
我不知道如何停止渲染当我们到达最后一页,也没有更多的数据,以显示?我看过docs但找不到我的答案。
答
也许介绍一些基本的标志逻辑。我采取了*承担,但你总是可以定义你的逻辑
fetchData() {
this.loading = true;
if (this.page > 0) {
axios.get(this.BASE_URL + '/api/jokes/page=' + this.page)
.then(response => {
const isDataAvailable = response.data && response.data.length;
this.jokes = isDataAvailable ? response.data : [];
this.page = isDataAvailable ? (this.page + 1) : 0;
})
.catch(function(error) {
console.error(error);
});
}
}
这是行不通的。我不想重写整个功能。当response.data为空时,请限制您的答案以打破此功能。 – Karlom