如何解决代码嵌套太深问题
$.ajax({success: function () {$.ajax({success: function () {$.ajax({success: function () {complete();}});}});} });
解决方案:
<script>/** 拿几个setTimeout做例子。* 一秒后输出1, 然后一秒后输出2, 然后一秒后输出3* 原始做法是一句句嵌套下去*/setTimeout(function(){//输出1console.log(1);setTimeout(function() {//输出2console.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>
转载于:https://www.cnblogs.com/facial/p/5847612.html
如何解决代码嵌套太深问题相关推荐
- Word 域嵌套太深弹窗,更新域卡顿,解决办法
1.问题描述 用Word编辑几百页或者上千页的文档时,因为资料来源和拷贝的关系,总会遇到各种有问题的文档块,一般更新目录页码或者题注序号时,最快的操作就是CTRL+A,然后F9,但是偶尔会遇到这样的文 ...
- 域嵌套太深_pyspark如何修改嵌套结构域
域嵌套太深 In our adventures trying to build a data lake, we are using dynamically generated spark cluste ...
- while循环里嵌套一个if_if-else嵌套太深?教你一个新手都能掌握的设计模式搞定!...
作者:南山狮 来自:Hollis 我也不用设计模式 很多人觉得自己写的是业务代码,按照逻辑写下去,再把公用的方法抽出来复用就可以了,设计模式根本就没必要用,更没必要学. 一开始的时候,我也是这么想,直 ...
- if-else嵌套太深?教你一个新手都能掌握的设计模式搞定!
△Hollis, 一个对Coding有着独特追求的人△ 这是Hollis的第 259篇原创分享 作者 l 南山狮 来源 l Hollis(ID:hollischuang) 我也不用设计模式 很多人觉得 ...
- 代码的坏味道:控制结构嵌套太深
重构前的代码 def newPrj(self,db,userId,prjName,password,privacy,intro='',status='active'): s = '' flag = F ...
- Promise解决多个异步Ajax请求导致的代码嵌套问题(完美解决方案)
这篇文章主要介绍了用Promise解决多个异步Ajax请求导致的代码嵌套问题(完美解决方案),需要的朋友可以参考下 问题 前端小同学在做页面的时候,犯了个常见的错误:把多个Ajax请求顺序着写下来了, ...
- 【库】Generator:8行代码优雅解决异步嵌套
Generator的核心 "计步功能" 亦可解决异步嵌套的问题,一定情况下的封装可替代Promise 复制代码 Promise的简易实现,可看该篇文章 [库]Promise的简便实 ...
- 多普达s1装了无驱U盘后往手机复制文件提示路径太深(附解决办法)
S1装了无驱U盘 我的S1装了无驱U盘以后,无法复制文件进储存卡,总是说路径太深.但手机卡的文件却可以往电脑复制. 后来发现是usb storage 软件的问题,后来换成Softick Card Ex ...
- finally 嵌套_学习 Rust【2】减少代码嵌套
结论先行:减少代码嵌套就是降低复杂度. 资源管理一向是编程中的重要任务.当一个函数要管理多个资源时,很容易出现代码嵌套层级太深的问题,尤其是调用系统或第三方 API 时. 以 C 语言代码为例,这里简 ...
最新文章
- 前后端API交互如何保证数据安全性?
- 通过OWA修改密码,提示输入的密码不符合最低安全要求
- ruby hash方法_Ruby中带有示例的Hash.key?(obj)方法
- 知道的C君带你学语言的作业答案,知到《C君带你玩编程》2020章节测试(含答案)...
- cake-build -.Net Core 跨平台构建自动化系统
- sqlerror.java.1055,请问大佬,eclipse连接数据库出现这个错误怎么办
- 为实现电动车长途旅行,特斯拉超级充电站将大幅升级
- iOS仿京东分类菜单之UICollectionView内容
- Oracle安装本地和远程两种方式的DISPLAY设置
- webdriver 等待页面加载完成_Python+selenium自动化之等待
- VBA学习笔记6:将多个工作表中满足条件的数据汇总到同一个工作表
- 2022-2028年中国汽车紧固件行业市场深度分析及投资决策建议报告
- Tajima's D的意义
- 2022年高教社杯全国大学生数学建模竞赛-【比赛规则篇】比赛规则及比赛指导
- 高颜值挂脖式运动蓝牙耳机盘点,五款3D环绕高音质蓝牙耳机测评分享
- 系统测试之功能测试:测试用例的设计步骤——从登陆开始说起
- 概率的性质——连续性
- 弘辽科技:淘宝电商创业的生存法则,你知道吗?
- 激光雷达学习笔记(一)数据采集
- 吃鸡服务器显示错误代码103,安装错误代码103怎么回事?
热门文章
- 阻止跳转的四种方式,你知道吗?
- the port is already in use
- 毫秒级百万数据分页存储过程(mssql)
- 卸载VS2005不完全出现的安装问题
- Python压缩文件夹/解压缩zip文件
- [Java] 蓝桥杯ADV-203 算法提高 8皇后·改
- word 2016 for Mac 如何缩小编号与后面文字之间的缩进间隙
- 蓝桥杯 ADV-144算法提高 01背包
- 如何将Oracle中同一列的多行记录拼接成一个字符串 十一__262 | 浏览 8183 次 推荐于2016-01-25 17:34:18 最佳答案 需要用wm_concat函数来实现。
- List和Set中忽略的方法addAll(Collection c)和retainAll(Collection c)