【发布时间】:2019-02-11 19:12:26
【问题描述】:
我正在尝试加载一个大型数据集并通过以小间隔获取数据来分解它
原来如此
假设我有 1000 条记录,我想以 10 步获取数据,但仅在当前请求完成时才请求下 10 条记录
所以目前这是正在做的事情,但它发出多个 http 请求,我不知道一个何时完成
processData(){
this.fetchedtrucks = 0;
this.dataLoadingCmplete = false;
this.exportstart = true;
this.ttatdatatrucks = [];
let i = 0;
do {
const page = (i == 0) ? 0 : (i / (this.paginatorval));
//send http request
this.$http.get("v1/data-trucks",
{
from: this.duration_from,
to: this.duration_to,
page: page,
pagination: this.paginatorval,
filters: this.filters,
only_completed: this.only_completed,
non_reg: this.non_reg
}
).then(
res => {
this.ttatdatatrucks = this.ttatdatatrucks.concat(this.getTransformedData(res.ttatdata));
this.fetchedtrucks += this.paginatorval;
if (this.fetchedtrucks >= this.totalRecords) {
this.dataLOadingCompleted();
}
}, err => {
this.fetchedtrucks += this.paginatorval;
this.errorloadingdata = true;
}
)
i += this.paginatorval;
} while (i < this.totalRecords);
上述工作但不是很整洁,因为当我检查浏览器开发工具时,我可以看到发出了 100 多个 http 请求,我期待做的是仅在当前请求完成时发出下一个 http 请求
我如何做到这一点?
【问题讨论】:
标签: vuejs2 vue-resource