我正在尝试使用Axios通过连续的HTTP请求来构建一个JSON文件:
1. 获取一个对象数组(项目) 2. 在每个项目中创建一个名为attachments的数组属性 3. 获取每个项目的任务 4. 获取每个任务的附件 5. 将每个项目的任务附件推入项目的attachments数组中 6. 从修改后的项目数组中创建一个JSON文件
代码:
但是我遇到了这个错误:
我还没有找到任何有用的东西来解决这个问题。我该怎么办?
1. 获取一个对象数组(项目) 2. 在每个项目中创建一个名为attachments的数组属性 3. 获取每个项目的任务 4. 获取每个任务的附件 5. 将每个项目的任务附件推入项目的attachments数组中 6. 从修改后的项目数组中创建一个JSON文件
代码:
let getProjects = function() {
try {
return axios.get('https://app.asana.com/api/1.0/projects/')
} catch (error) {
console.error(error)
}
}
let getTasks = function(project) {
try {
return axios.get('https://app.asana.com/api/1.0/projects/'+project+'/tasks')
} catch (error) {
console.error(error)
}
}
let getAttachments = function(task) {
try {
return axios.get('https://app.asana.com/api/1.0/tasks/'+task+'/attachments')
} catch (error) {
console.error(error)
}
}
async function getAsanaData() {
let projects = await getProjects()
return Promise.all(projects.data.data.map(async (project) => {
project.attachments = []
let tasks = await getTasks(project.gid)
return Promise.all(tasks.data.data.map(async (task) => {
let attachments = await getAttachments(task.gid)
project.attachments = !!attachments ? project.attachments.concat(attachments.data.data) : project.attachments
return project
}))
}))
}
getAsanaData()
.then((projects) => {
var asanaData = safeJsonStringify(projects);
fs.writeFile("thing.json", asanaData);
})
.catch(err=>console.log(err))
但是我遇到了这个错误:
status: 429,
statusText: 'Too Many Requests
我还没有找到任何有用的东西来解决这个问题。我该怎么办?
projects.data.data
数组有多大? - jfriend00