概念

回调地狱的概念:回调函数里面嵌套回调函数。

             //地狱回调setTimeout(function () {  //第一层console.log('张三');//等3秒打印张三在执行下一个回调函数setTimeout(function () {  //第二层console.log('李四');//等2秒打印李四在执行下一个回调函数setTimeout(function () {   //第三层console.log('王五');//等一秒打印王五}, 1000)}, 2000)}, 3000)

回调地狱是为了让我们代码执行顺序的一种操作(解决异步),但是它会使我们的可读性非常差。

promise解决

// promise解决方式
function fn(str) {var promise = new Promise(function (success, error) { //success 是成功的方法  error是失败的方法  //处理异步任务var flag = true;setTimeout(function () {if (flag) {success(str)}else {error('失败')}})})return promise;
}fn('张三').then((res) => { //then是成功执行的方法 返回的还是一个promise对象console.log(res);//打印张三  res是执行return fn('李四');}).then((res) => {console.log(res);return fn('王五')}).then((res) => {console.log(res);}).catch((res) => { //catch是失败执行的方法console.log(res);})

async/await解决

//封装一个返回promise的异步任务function fn(str) {var promise = new Promise(function (success, error) {var flag = true;setTimeout(function () {if (flag) {success(str)} else {error('处理失败')}})})return promise;}//封装一个执行上述异步任务的async函数async function test() {var res1 = await fn('张三');  //await直接拿到fn()返回的promise的数据,并且赋值给resvar res2 = await fn('李四');var res3 = await fn('王五');console.log(res1);console.log(res2);console.log(res3);}//执行函数test();

什么是回调地狱?以及如何解决回调地狱相关推荐

  1. 一文告诉你什么是回调地狱,如何解决回调地狱?

    文章目录 前言 一.回调地狱是什么? 二.如何解决回调地狱 1.Promise 2.async/await 总结 前言 在正式了解"回调地狱"之前,我们先了解两个概念: 回调函数 ...

  2. 什么是回调地狱?如何解决回调地狱

    一.什么是回调地狱呢? 地狱这个词不陌生吧!对,没错就是那个十八层地狱的地狱,一层一层的地狱. 1.同步API,异步API的区别 这个问题呢,需要从Node.js的API说起,这里就会有人问了?博主你 ...

  3. 什么是回调地狱?怎么解决回调地狱

    前言 在正式了解"回调地狱"之前,我们先了解两个概念: 回调函数 当一个函数作为参数传入另一个参数中,并且它不会立即执行,只有当满足一定条件后该函数才可以执行,这种函数就称为回调函 ...

  4. 什么是回调地狱以及怎样解决回调地狱

    回调地狱: 指的是在一个回调函数里面再嵌套一层回调函数,层层嵌套,虽然并不会影响其正常运行,但很影响观感. 例如: //需要 引入 axios <script src="./day1/ ...

  5. ES6----promise方法解决回调地狱问题

    ES6–promise方法解决回调地狱问题 要解决回调地狱问题,首先要了解回调地狱的产生是由于早期的javascript只支持回调函数来表现异步操作完成,由于业务逻辑复杂时,就会出现一个串联多个异步操 ...

  6. 什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题?

    什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题? 参考文章: (1)什么是回调函数?回调函数有什么缺点?如何解决回调地狱问题? (2)https://www.cnblogs.com/kzxi ...

  7. Promise使用,return的运用,解决回调地狱

    Promise使用,return的运用,解决回调地狱 回调地狱 httpBookModel.getHotList().then((res) => {console.log(res)httpBoo ...

  8. Promise解决回调地狱写法

    这里可以使用Promise来解决回调地狱的问题! 那么我们这里有一个需求,就是我们需要读取三个 .txt 文件,需要第一个文件读取完成后才能读取第二个文件以此类推. 那么这里来一个Promise的错误 ...

  9. Promise(解决回调地狱)

    Promise() 对象: 存在三种状态: //进行时 pending// 成功 resolve//失败 reject 执行语句: let promise= new Promise((resolve, ...

  10. promise解决回调地狱(callback hell)

    promise解决回调地狱(callback hell) 具体参考 阮一峰,ES6标准入门 在我们需要对一个异步操作进行频繁的调用的时候,且要保证一步操作的顺序,可能会出现 回调地狱(callback ...

最新文章

  1. 使用Eclipse编译运行MapReduce程序 Hadoop2.6.0/Ubuntu
  2. Java 洛谷 P1307 数字反转
  3. Ashby diagram
  4. 事务管理基础:数据库的并发控制相关知识笔记
  5. 项目进度计划甘特图_项目管理进度计划表制作及甘特图绘制方法
  6. JTA 深度历险 - 原理与实现
  7. python 字体_python docx字体设置
  8. C#常用类库----CSV文件操作类
  9. Qt 串口通信 高速发送出错的解决方法总结
  10. 微软“照片”应用Raw 格式图像编码器漏洞 (CVE-2021-24091)的技术分析
  11. 项目一实时数仓数据采集
  12. ug如何复制面_了解了一下内容,让你UG快速入门
  13. SQLserver中勒索病毒或严重损坏后的恢复数据方法
  14. JQuery学习之路Part8:家族树操作(查找祖先、后代、兄弟同胞、绝对查找)【完结】
  15. LCD12864液晶显示
  16. Docker构建JDK 镜像
  17. 6、使用Java Low Level REST Client操作elasticsearch.docx
  18. 黑马程序员前端-CSS练手之学成在线页面制作
  19. python修饰器classmate_python-一些需要注意的知识点
  20. 【C】C语言之经典算法:河内之塔(1)

热门文章

  1. ChatGPT 版必应发飙!怒斥人类:放尊重些
  2. 一个通过捕获ARP发现IP的小工具
  3. idea自动补全类名和方法名
  4. Java编程中有哪些很酷的技巧?
  5. 基于51单片机的倒计时系统
  6. 我用Python摆摊算命
  7. SonarQube检测项目代码
  8. jenkins+jmeter参数化构建
  9. 行测英语知识点(只针对自己)
  10. Python使用matplotlib可视化时间序列自回归ACF图和偏自回归PACF图、ACF图显示了时间序列与其自身滞后的相关性、PACF显示了任何给定的滞后(时间序列)与当前序列的自相关性