如何解决代码嵌套太深问题
Posted facial
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决代码嵌套太深问题相关的知识,希望对你有一定的参考价值。
$.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>
以上是关于如何解决代码嵌套太深问题的主要内容,如果未能解决你的问题,请参考以下文章