所有异步编程的方法根本就是回调函数。

回调函数可以把它理解成一件你想要做的事情,你明确知道这件事情该怎么做,怎么一步一步的往下做,但是你并不知道这件事情所依赖的任务什么时候才能完成,所以说最好的办法把你这件事情的步骤写到一个函数当中,交给任务的执行者,这个异步任务的执行者它是知道这个任务是什么时候结束的,那他就可以在结束过后去帮你执行你想要做的事情,这件想要做的事情呢,其实我们就可以理解成回调函数。

以ajax为例,调用ajax操作,目的是为了拿到请求结果过后做一些事情,例如显示到界面上,但是这个请求何时能够完成,我们并不知道,所以我们得把得到结果过后要去执行的任务定义到一个函数当中,然后ajax在内部请求完成过后呢,它会自动执行这个任务

这种由调用者定义,交给执行者去执行的函数就称为回调函数

// 具体用法也很简单,他就是把函数作为参数去传递罢了function foo (callback) {setTimeout(function() {callback()}, 3000)
}foo(function() {console.log("这就是一个回调函数")
})

缺点:如果我们直接使用传统回调的方式去完成复杂的异步流程,就无法避免大量的回调函数嵌套,这也就会导致回调地狱问题。

javascript异步编程之回调函数相关推荐

  1. JavaScript异步编程【上】 -- 同步和异步、事件循环(EventLoop)、微任务和宏任务、回调函数

    文章内容输出来源:拉勾教育 大前端高薪训练营 前言 在我们学习JavaScript中,我们知道,JavaScript的执行环境是单线程的.所谓单线程是指一次只能完成一个任务,如果有多个任务,就必须排队 ...

  2. JavaScript 异步编程--Generator函数、async、await

    JavaScript 异步编程–Generator函数 Generator(生成器)是ES6标准引入的新的数据类型,其最大的特点就是可以交出函数的执行的控制权,即:通过yield关键字标明需要暂停的语 ...

  3. 写给初学者的JavaScript异步编程和背后思想

    导读: 对于接触JavaScript这门编程语言没有多久的本菜鸡而言,在相当长的一段时间内,我都完全无法理解这门语言中的异步编程,不明白什么叫异步编程以及为什么需要异步编程.为什么顺序执行程序就不行了 ...

  4. Javascript异步编程之一异步原理

    本系列的例子主要针对node.js环境,但浏览器端的原理应该也是类似的. 本人也是Javascript新手,把自己这段时间学习积累的要点总结下来,希望可以对同样在学习Javascript/node.j ...

  5. 网页javascript加载不出_写给初学者的JavaScript异步编程和背后思想

    导读:对于接触JavaScript这门编程语言没有多久的本菜鸡而言,在相当长的一段时间内,我都完全无法理解这门语言中的异步编程,不明白什么叫异步编程以及为什么需要异步编程.为什么顺序执行程序就不行了呢 ...

  6. JavaScript异步编程【下】 -- Generator、Async/await

    文章内容输出来源:拉勾教育 大前端高薪训练营 前言 在JavaScript异步编程[上]和 JavaScript异步编程[中]中,我们已经讲到了处理异步编程的两种方法:回调函数 和 Promise. ...

  7. JavaScript异步编程原理

    众所周知,JavaScript 的执行环境是单线程的,所谓的单线程就是一次只能完成一个任务,其任务的调度方式就是排队,这就和火车站洗手间门口的等待一样,前面的那个人没有搞定,你就只能站在后面排队等着. ...

  8. 【学习笔记】Part1·JavaScript·深度剖析-函数式编程与 JS 异步编程、手写 Promise(二、JavaScript 异步编程)

    [学习笔记]Part1·JavaScript·深度剖析-函数式编程与 JS 异步编程.手写 Promise(课前准备) [学习笔记]Part1·JavaScript·深度剖析-函数式编程与 JS 异步 ...

  9. JavaScript异步编程

    JavaScript异步编程 一.概述 1.单线程模型 2.同步任务和异步任务 3.任务队列和事件循环 4.异步操作的模式 回调函数 事件监听 发布/订阅 5.异步操作的流程控制 串行执行 并行执行 ...

  10. 前端JavaScript 异步编程详解

    目录 菜鸟教程官网 JavaScript 异步编程 异步的概念 详图 什么时候用异步编程 回调函数 概念 例如: 最后 菜鸟教程官网 地址 JavaScript 异步编程 异步的概念 异步(Async ...

最新文章

  1. 人工智能激活千亿级交通安全市场
  2. WPF MVVM模式下的无阻塞刷新
  3. oracle 基础1
  4. 高德最佳实践:Serverless 规模化落地有哪些价值?
  5. 如何使用eclipse打开已有工程
  6. source 导入大批量sql文件的方法
  7. 修改SQL Service数据库排序规则
  8. Gradle学习总结——抓重点学Gradle
  9. 智能照明c语言程序,基于单片机的智能照明控制系统设计方案(含AD+源代码)...
  10. syntax error : missing ';' before identifier 'oper'解决方法
  11. 统计英文、数字、空格以及其他字符的数量,go语言
  12. 方法一 NTC热敏电阻转换温度的计算方式(分段法)
  13. 华为鸿蒙系统支持什么手机_华为鸿蒙系统支持的手机型号大全,鸿蒙系统2.0支持手机型号汇总[图]...
  14. UEFI shell控制台向.efi文件传入参数--通过protocol实现
  15. 页游终端服务器,页游定制高防服务器秒解封服务器
  16. VB6.0的MsgBox语句
  17. eclipes常用快捷键
  18. 习题4.11 编程输出如下的数字图案:1 3 6 10 15
  19. VScode remote development 远程开发
  20. 攻击微软、三星等大型企业的黑客组织LAPSUS$成员被逮捕

热门文章

  1. 2019全国大学生电子设计竞赛(电赛)回忆录
  2. git简介以及windows下的git安装配置gitgub推送
  3. 2022最新教程,半小时速通Git和Github的基本操作。
  4. android往mac投屏,安卓手机怎么投屏到Mac系统中?
  5. 淘宝嘉年华5元无门槛红包使用范围 怎么设置淘宝嘉年华5元无门槛红包
  6. 红胖子创业一年整总结:前二十年题记,萌芽初期,外包初期,创业初期,未来规划
  7. 人脸检测进阶:更快的5点面部标志检测器
  8. 拉卡拉服务器响应超时,拉卡拉传统POS机11个常见问题及解决方法
  9. SpringMVC表单标签简介
  10. 给领导干部讲计算机课的开场,学习计算机课程的心得(1)讲课讲稿.pdf