ES6-Promise (编辑ing)

2017-03-15  本文已影响19人  coolheadedY

异步:多个操作可以同时进行

Promeise

Promeise对象,用来传递异步操作的数据。

Promeise方法

pending(等待)=> Resolve(完成)
=> Rejected(失败)
cathch(捕获错误、捕获throw)
all(用户将多个promise对象组合,包装成一个全新的promise实例)
race(返回最先能执行的promise结果)

reject(错误信息放里面)
resolve(正确新信息放里面)

Promeise

先了解一个概念:

异步:多个操作可以同时进行

Promeise基本概念

Promeise是什么?
Promeise有哪些状态,什么意思?
Promeise有什么特点?

Promeise是什么

Promeise是一个对象,用来传递异步操作。

Promeise有哪些状态,什么意思?

Promeise代表一个异步操作对象有三种状态:
1.Pending(进行中)
2.Resolved(已完成)
3.Rejected(已失败)

Promeise的特点

Promise对象状态不受影响且不可改变:
Promise对象状态只能是
Pending => Resolved
Pending => Rejected
两种情况,Pending状态进入下一个状态后就会一直保持这个结果。

Promise的基本用法

const fs = require('fs')
fs.readFile('index.html', (err, data) => {
  let p = new Promise( (resolve, reject) => { err ? reject(err) : resolve(data) })
  p.then( 
    (resval) => { console.log(resval.toString()) }, 
    (rejval) => { console.log(rejval) })
  })
  1. 上面代码中变量p是一个Promise对象
  2. 对象p具有then方法
  3. then方法下有两个函数
  4. 第一个函数执行resolve状态,第二个函数执行reject状态
  5. 而then方法执行哪个状态要看let p = new Promise( 里面是什么状态 )
Paste_Image.png

Promise.prototype.then()

Promise.prototype.catch()

Promise.all()

Promise.race()

Promise.resolve()

Promise.reject()

Promise应用

上一篇 下一篇

猜你喜欢

热点阅读