javascript中使用异步函数如何保证函数的执行顺序?

如下面的例子,因为fetch是异步的,所以没等fetch返回数据TODO()就执行了,我希望让TODO()在所有fetch都返回数据后再执行,该如何处理?希望大神能给个思路

function fetchAll(){
        
    for(var i=0; i<10; i++){
        
        fetch('http://127.0.0.1').then(function(res) {
            if (res.ok) {
                try {
                    res.json().then(function(data) {
                        console.log(data)
                    })                
                } catch(e){
                    console.warn(e)
                }
            }
        })            
        
    }
        
}

fetchAll()
    
TODO()
阅读 3.9k
2 个回答

既然你以及用 Promise 了,你应该了解一下Promise.all方法

用promose封装一层,返回一个函数而不是data

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题