精华内容
下载资源
问答
  • 回调地狱

    2020-03-15 21:55:30
    什么是回调地狱 当回调函数嵌套过多时就会出现回调地狱 什么是回调函数: 回调函数就是一个参数,将这个函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的这个函数。这个过程就叫做回调。 //...

    什么是回调地狱
    当回调函数嵌套过多时就会出现回调地狱
    什么是回调函数:
    回调函数就是一个参数,将这个函数作为参数传到另一个函数里面,当那个函数执行完之后,再执行传进去的这个函数。这个过程就叫做回调。

    //定义主函数,回调函数作为参数
    function A(callback) {
        callback();  
        console.log('我是主函数');      
    }
    
    //定义回调函数
    function B(){
        setTimeout("console.log('我是回调函数')", 3000);//模仿耗时操作  
    }
    
    //调用主函数,将函数B传进去
    A(B);
    
    //输出结果
    我是主函数
    我是回调函数
    

    回调地狱格式:开启三个异步的程序,要求能同时拿到所有异步的结果
    解决方案:在一个异步成功之后,才能执行下一个程序,这时下一个程序也是异步

    ajax(url1,function(res1){
    			console.log(res1)
    			ajax(url2,function(res2){
    				console.log(res1,res2);
    				ajax(url3,function(res3){
    					console.log(res1,res2,res3);
    				})
    			})
    		})
    

    注意:这里仅仅是上一个异步结束之后才执行下一个异步,最后一个异步执行结束,就意味着前面的所有的异步都执行结束了,相当于将异步的程序,利用回调函数做成了同步执行
    回调地狱的缺点:
    1.如果最里面的异步没有执行结束,外面所有的程序就相当于没有结束,非常的消耗性能
    2.格式非常的不优雅,语义化非常差,不方便调错

    展开全文
  • 回调地狱示例 使用promise的链式调用解决回调地狱 async/await:回调地狱的终极解决方案

    在这里插入图片描述

    回调地狱示例
    在这里插入图片描述
    使用promise的链式调用解决回调地狱
    在这里插入图片描述
    async/await:回调地狱的终极解决方案
    在这里插入图片描述

    展开全文

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 3,025
精华内容 1,210
关键字:

回调地狱