美文网首页
promise基础

promise基础

作者: yueluoxingliu | 来源:发表于2022-02-05 15:56 被阅读0次

promise有两个阶段:未决阶段unsettled和已决阶段settled

promise有三种状态:pending(进行中)、resolved(已完成,又称Fulfilled)和rejectd(已失败)

代码:

const pro = new Promise((resolve, reject)=>{

    // 未决阶段的处理

    // 通过调用resolve函数将Promise推向已决阶段的resolved状态

    // 通过调用reject函数将Promise推向已决阶段的rejected状态

    // resolve和reject均可以传递最多一个参数,表示推向状态的数据

})

pro.then(data=>{

    //这是thenable函数,如果当前的Promise已经是resolved状态,该函数会立即执行

    //如果当前是未决阶段,则会加入到作业队列,等待到达resolved状态后执行

    //data为状态数据

}, err=>{

    //这是catchable函数,如果当前的Promise已经是rejected状态,该函数会立即执行

    //如果当前是未决阶段,则会加入到作业队列,等待到达rejected状态后执行

    //err为状态数据

})

说明:

1. 未决阶段的处理函数是同步的,会立即执行

2. thenable和catchable函数是异步的,就算是立即执行,也会加入到事件队列中等待执行,并且加入的队列是微队列

3. pro.then可以只添加thenable函数,pro.catch可以单独添加catchable函数

4. 在未决阶段的处理函数中,如果发生未捕获的错误,会将状态推向rejected,并会被catchable捕获

5. 一旦状态推向了已决阶段,无法再对状态做任何更改

6. Promise并没有消除回调,只是让回调变得可控

相关文章

  • Promise

    promise基础

  • 第八周第二天笔记

    ES6之Promise类 1 Promise类基础知识解读 promise类的静态属性方法分类:resolve()...

  • Promise

    基础用法 Promise.all() Promise.all方法用于将多个 Promise 实例,包装成一个新的 ...

  • js-Promise基础

    js-Promise基础(第三周) Promise含义 promise意思为允诺、许诺、承诺在js中为了解决编写代...

  • 2020前端基础大纲(20200202)

    2020前端基础大纲1、promise 原理 promise.all 可以手写出大概。(async awa...

  • Promise基础

    值的传递: 连续出发的状态: 铺获失败,并终止执行:

  • Promise基础

    Promise Promise对象的三种状态 Promise状态的改变形式 Promise基本的api eg.1 ...

  • Promise基础

    1、Promise是什么? promsie是ES6新增的一个特性,它已经列入ES6的正式规范中promise是抽象...

  • Promise基础

    什么是promise 抽象表达Promise是JS中进行异步编程的新的解决方案(Promise也支持回调),旧的方...

  • promise基础

    promise有两个阶段:未决阶段unsettled和已决阶段settled promise有三种状态:pendi...

网友评论

      本文标题:promise基础

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