首页 > 代码库 > 如何解决代码嵌套太深问题

如何解决代码嵌套太深问题

$.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>

 

如何解决代码嵌套太深问题