【发布时间】:2019-11-24 09:59:27
【问题描述】:
我必须从支持偏移量和限制的 API 获取所有数据,但我不知道计数或最大偏移量。
我使用 while true 并在调用没有返回数据时中断循环
let flag = true;
let query_obj = {limit : 10, offset: 0};
while (flag) {
const data = await axios.get('https://domain.ex/path?limit=' + query_obj.limit + 'offset=' + query_obj.offset);
query_obj.offset += query_obj.limit;
if(data.items.length === 0){
flag = false;
}
}
我正在寻找最佳实践,所以我认为 while 循环和循环内的 await 并不是最好的。
我正在考虑使用promise.all或RXJS的解决方案,您有什么建议
谢谢
【问题讨论】:
-
你已经在使用 Promise 了——这和其他方法一样好
-
stackoverflow.com/questions/13912775/… 查看我的旧答案,如果您翻译 jquery 代码可能是您所需要的
标签: javascript node.js