我正在使用外部API按顺序创建一组文件夹。
chapters.forEach(function createFolder(chapter) {
axiosInstance.post(folderCreateURL, {
name: chapter,
category_id,
})
.then(response => console.log(response))
.catch(error => console.error(error));
});
这里的章节是一个存储文件夹名称的数组。我需要遍历此数组,并一个接一个地创建文件夹。理想情况下,我想在上一个循环语句的then子句中调用循环的下一个迭代-我猜可能是某种收益率可以在这里工作。
那么,任何人都可以给我一些指导以帮助我取得进步,或者指向我一些可以帮助我自己解决问题的资源吗?
答案 0 :(得分:3)
您可以将其包装在async
函数中,并使用for
循环进行迭代(在下面的示例中,我使用for..of
)
以下代码段可以帮助您
async function run() {
for (let chapter of chapters) {
try {
const response = await axiosInstance.post(folderCreateURL, {
name: chapter,
category_id,
})
console.log(response)
} catch (err) {
console.error(error)
}
}
}
run()
带有假数据的演示
function request(x) {
return new Promise(function (resolve) {
setTimeout(function () {
resolve(x)
}, 500)
})
}
async function run() {
const chapters = [1, 2, 3, 4, 5]
for (let chapter of chapters) {
try {
const response = await request(chapter)
console.log(response)
} catch (err) {
console.error(error)
}
}
}
console.log('start')
run()