首页 > 代码库 > 如何解决代码嵌套太深问题
如何解决代码嵌套太深问题
$.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>
如何解决代码嵌套太深问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。