ES6-Promise (编辑ing)

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

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Promiese 简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果,语法上说,Pr...
    雨飞飞雨阅读 3,373评论 0 19
  • 本文适用的读者 本文写给有一定Promise使用经验的人,如果你还没有使用过Promise,这篇文章可能不适合你,...
    HZ充电大喵阅读 7,322评论 6 19
  • Promise的含义:   Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和...
    呼呼哥阅读 2,187评论 0 16
  • 00、前言Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区...
    夜幕小草阅读 2,139评论 0 12
  • 今天特别感恩,儿子回家做作业特别自觉,而且自己规定时间,做多久,休息多久。他央求我说,要是这周都表现好,周六就可以...
    飘蓝_e78c阅读 144评论 0 0