zoukankan      html  css  js  c++  java
  • 如何解决代码嵌套太深问题

    $.ajax({
        success: function () {
            $.ajax({
                success: function () {
                    $.ajax({
                        success: function () {
                            complete();
                        }
                    });
                }
            });
        }
    });

    解决方案: 

    <script>
        /*
        * 拿几个setTimeout做例子。
        * 一秒后输出1, 然后一秒后输出2, 然后一秒后输出3
        * 原始做法是一句句嵌套下去
        */
        
        setTimeout(function(){
            //输出1
            console.log(1);
            setTimeout(function() {
              //输出2
              console.log(2); 
              setTimeout(function() {
                  console.log(3);
              }, 1000);
            }, 1000);
        }, 1000);
        
        
        /*
        *  现在出现了一种比较好的写法, 就是用Promise.js来简单来写
        */
        
        var asny = function (text) {
            var promise = new Promise(function(resolve, reject) {
                setTimeout(function() {
                    console.log(text);
                    resolve();
                }, 1000)
            });
            
            return promise;
        }
        
        asny("1").then(function(){
            return asny("2");    
        }).then(function () {
            return asny("3");
        }).then(function() {
            console.log("done");
        });
    
    
    
        
        
    </script>
  • 相关阅读:
    消除共模干扰的方法
    C#模拟键盘事件
    获取本地IP V4 出现::1
    生成ssh密钥
    苹果应用商店DNS修改加快下载速度
    模算术 modular arithmetic
    有限域和质数的幂
    rere
    test
    图信号处理进行大数据分析
  • 原文地址:https://www.cnblogs.com/facial/p/5847612.html
Copyright © 2011-2022 走看看