解决方案,for循环用async和await,下一次for循环等待上面调用resolve()
<script src="https://unpkg.com/axios/dist/axios.min.js"></script>
<script>
function get() {
function loop() {
return new Promise(resolve => {
setTimeout(() => {
axios.get('https://jsonplaceholder.typicode.com/todos/1').then(res => {
resolve()
})
}, 1000)
})
}
async function doLoop() {
for (let i = 0; i < 10; i++) {
await loop()
}
console.log("finish");
// TODO
}
doLoop()
}
get()
</script>