Node.js 当存在多个页面时,如何使用axios获取所有响应数据?
我有一个类似Node.js 当存在多个页面时,如何使用axios获取所有响应数据?,node.js,get,axios,Node.js,Get,Axios,我有一个类似https://abc123/api/records这给了我: {"page":1,"per_page":10,"total":99,"total_pages":10,"data":[object1, object2, object3,...]} 那你会给我类似的东西吗 {"page":2,"per_page":10,"total":99,"total_pages":10,"data":[object1, object2, object3,...]} 我想从所有10页中访问“数据
https://abc123/api/records
这给了我:
{"page":1,"per_page":10,"total":99,"total_pages":10,"data":[object1, object2, object3,...]}
那你会给我类似的东西吗
{"page":2,"per_page":10,"total":99,"total_pages":10,"data":[object1, object2, object3,...]}
我想从所有10页中访问“数据”中的所有对象。使用nodeJS和axios如何实现这一点?您可以使用一个循环,例如下载每页数据。一旦检索到最后一页数据,我们将停止下载 我们使用params对象设置页面参数,从第1页开始
const axios = require("axios");
// Replace with the appropriate url.
const url = "https://abc123.com/api/records"
async function downloadRecords() {
let records = [];
let page = 0;
let totalPages = 0;
do {
let { data: response } = await axios.get(url, { params: { page: ++page } });
totalPages = response.total_pages;
console.log(`downloadRecords: page ${page} of ${totalPages} downloaded...`);
records = records.concat(response.data);
console.log("records.length:", records.length);
} while (page < totalPages)
console.log("downloadRecords: download complete.")
}
downloadRecords();
const axios=require(“axios”);
//替换为适当的url。
常量url=”https://abc123.com/api/records"
异步函数downloadRecords(){
让记录=[];
设page=0;
设totalPages=0;
做{
让{data:response}=wait axios.get(url,{params:{page:++page});
totalPages=响应。总页数;
log(`downloadRecords:page${page}共${totalPages}页下载…`);
records=records.concat(response.data);
log(“records.length:,records.length”);
}而(页数<总页数)
log(“下载记录:下载完成”)
}
下载记录();
循环,直到当前获得的页面与总页面相同为止?到目前为止,您尝试了什么,它到底有什么问题?
const axios = require("axios");
// Replace with the appropriate url.
const url = "https://abc123.com/api/records"
async function downloadRecords() {
let records = [];
let page = 0;
let totalPages = 0;
do {
let { data: response } = await axios.get(url, { params: { page: ++page } });
totalPages = response.total_pages;
console.log(`downloadRecords: page ${page} of ${totalPages} downloaded...`);
records = records.concat(response.data);
console.log("records.length:", records.length);
} while (page < totalPages)
console.log("downloadRecords: download complete.")
}
downloadRecords();