// 回调
函数 被其他
函数嵌套使用的
函数 (把
函数当做
一个参数传递给其他
函数 并且执行)
// 很多回调
函数嵌套 ===> 回调地狱
// 回调
函数噩梦(恐怖回调),也被称为恶魔金字塔,指如ajax依赖
调用时,回调
函数会层层嵌套,而这种层层嵌套的写法,往往会让人难以理解,所以称之为噩梦
// Promise 异步 => 同步操作
// Promise 是异步编程的一种
解决方案,比传统的
解决方案——回调
函数和事件——更合理和更强大
// 让
代码更加简洁明了 后期更好的维护迭代
// 所谓Promise,简单说就是
一个容器,里面保存着某个未来才会结束的事件(通常是
一个异步操作)的结果
// 从语法上说,Promise 是
一个对象,从它可以
获取异步操作的消息
// Promise 的状态
// pedding 进行中
// fulfilled 已成功 resolve
// rejected 已失败
// Promise对象有以下两个特点
// 1. 对象的状态不受外界影响 Promise对象代表
一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败)
// 2. 一旦状态改变,就不会再变,任何时候都可以得到这个结果
// a. pedding => fulfilled => resolve 成功
// b. pedding => rejected => reject 失败
// 只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为 resolved
// Promise 构造
函数
// var p = new Promise() // error 必须传递参数 成功失败结果
// 注:可以把Promise看成是状态机,当该Promise
对象创建出来之后,其状态就是进行中pedding,
// 然后通过程序来控制到底是执行已完成,还是执行已失败。因为Promise处理的是异步任务,
// 所以我们还得对Promise做监听,当Promise的状态发生变化时,我们要执行相应的
函数(then) 或者执行失败的
函数(catch)
// resolve 成功回调
// reject 失败回调
//
函数 => 容器 => 存放执行某些异步事件的
代码 => 异步操作
// 回调
函数 页面加载会立即执行
// Promise 实例对象 有 then
方法 then
方法是定义在原型对象 (prototype)
// p.then(callback1,callback2) 作用是为 Promise 实例
添加状态改变时候的回调
// 当Promise 实例的状态 由 pedding(进行中) 改为 fulfilled(已成功) 则执行回调 callback1
// 当Promise 实例的状态 由 pedding(进行中) 改为 rejected(已成功) 则执行回调 callback2
// callback1 callback2 都是
一个形式参数 p.then(success,
Failed) 接收Promise实例里面返回的数据
// callback1 可接收 resolve
// callback2
错误回调 可接收 reject 以抛错的形式传递数据
// callback2 接收 Promise
代码执行的语法
错误 a = 100 ; key:key
// 总结 Promise 是异步编程 没有改变异步的本质 而是通过封装回调resolve reject 把
代码给
修改的更像同步
函数
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。