美文网首页
ES6-Promise (编辑ing)

ES6-Promise (编辑ing)

作者: coolheadedY | 来源:发表于2017-03-15 21:05 被阅读19次

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

    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应用

    相关文章

      网友评论

          本文标题:ES6-Promise (编辑ing)

          本文链接:https://www.haomeiwen.com/subject/vaeggttx.html