front_promise

1.0.3 • Public • Published

1.什么是 promise?

  它是 es6 提供的异步新的解决方案,没有 promise 的时候 JS 中的异步操作函数往往通过回
  调函数来实现异步任务的结果处理;从语法上来说它是一个构造函数,可以实例化对象,
  封装异步操作可以获取成功与失败的节点,其优点是支持链式调用,解决回调地狱,回
  调函数方式更为灵活,减少嵌套

2.什么是异步?

  同步按你的代码顺序执行,异步不按照代码顺序执行,异步的执行效率更高

3.异步使用场景?

  网络请求,如 ajax 图片加载
  定时任务,如 setTime
  文件读取

4.什么是回调地狱?

  回调函数嵌套调用,外部回调函数异步执行结果是嵌套的回调执行条件

5.回调地狱的缺点?

  不利于阅读,不利于异常处理

6.promise 状态

  实列对象中的一个属性【PromiseState/(sdt)】状态只有两种 pending=>resolved pending=>rejected
  *pending 未决定
  *resolved / fullfilled 成功
  \*rejected 失败

7.promise 对象的值

实列对象中的另一个属性【PromsieResult】
保存着对象【成功、失败】的结果

8.promise api

promise (executor(rzkt))
executor 函数:执行器 (resolve,resject)=>{}
resolve 函数:内部定义成功是我们调用的函数 (value)=>{}
resject 函数:内部定义失败是我们调用的函数(err)=>{}
说明:executor 会在 promise 内部立即同步调用,异步在执行器里面执行
promise.prototype.then 方法:(onresolved,onresjectd)=>{}
onresolved 函数:成功回调函数
onresjectd 函数:失败回调函数
说明:then 方法会返回一个新的 Promise 实例,所以可以进行链式调用,
并且 then 方法接收的是成功还是失败可以通过上一个 Promise 的状态判断。
promise.prototype.catch()方法(onresjectd)=>{}
onresjectd 函数:失败回调函数
promise.resolve 方法:它是函数对象的并不属于实列对象
//如果传入的参数为非 promise 类型的对象,则返回的结果为成功的 promise 对象
//如果传入的参数为 promise 类型的对象,则参数的结果决定了 resolve 的结果
Promise.reject 方法: (reason) => {}
reason: 失败的原因
说明: 返回一个失败的 promise 对象
Promise.all 方法: (promises) => {}
promises: 包含 n 个 promise 的数组
说明: 返回一个新的 promise, 只有所有的 promise 都成功才成功, 只要有一个失败了就直接失败
Promise.race 方法: (promises) => {}
promises: 包含 n 个 promise 的数组
说明: 返回一个新的 promise, 第一个完成的 promise 的结果状态就是最终的结果状态

Package Sidebar

Install

npm i front_promise

Weekly Downloads

0

Version

1.0.3

License

ISC

Unpacked Size

11.8 kB

Total Files

6

Last publish

Collaborators

  • xiaobai5