ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Promise

2020-12-17 22:59:54  阅读:136  来源: 互联网

标签:异步 resolve 状态 Promise reject 操作


名词约定

promise(首字母小写) 对象指的就是“Promise”实例对象
Promise首字母大写且单数形式,表示"Promise构造函数"
Promises首字母大写且复数形式,用于指代”Promises规范“

什么是Promsie?

Promise,就是一个容器,里面保存着未来才会结束的事件(通常是一个异步操作)的结果。
从语法上说,promise是一个对象,它可以获取异步操作的最终状态(成功或者失败)。
Promise是一个构造函数,对外提供统一的API,自己有all、reject、resolve等方法,原型上有then、catch等方法。

Promise有两个特点

1、Promise对象的状态不受外界影响
pending 初始状态
fulfilled 成功状态
rejected 失败状态

Promise有三种状态,只有异步操作的结果可以决定当前是哪一种状态,其他操作都无法改变这个状态。

2、Promise的状态一旦改变,就不会再变,任何时候都可以得到这个结果,状态不可逆,只能由pending变化成fulfilled或者pending变化成rejected

使用new 来创建一个promise对象。

Promise接受一个函数作为参数,这个函数的两个参数分别是resolve和reject。这两个函数就是回调函数。

resolve函数的作用:在异步操作成功的时调用,并将异步操作的结果,作为参数传递出去;

reject函数的作用:在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。

const  promsie = new Promise((resolve,reject)=>{
  if(success) {
    resolve(value);
  } else {
    reject(error)
  }
});

标签:异步,resolve,状态,Promise,reject,操作
来源: https://blog.csdn.net/weixin_49075393/article/details/111349235

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有