什么是promise?

什么是promise?什么是promise?Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操作)的结果。从语法上说,promise是一个对象,从它可以获取异步操作的的最终状态(成功或失败)。Promise是一个构造函数,对外提供统一的API,自己身上有all、reject、resolve等方法,原型上有then、catch等方法。Promise的两个特点Promise对象的状态不受外界影响pending初始状态fulfilled成功状态rejected失

大家好,又见面了,我是你们的朋友全栈君。

什么是promise?

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

Promise的两个特点

  1. Promise对象的状态不受外界影响

    pending 初始状态
    
    fulfilled 成功状态
    
    rejected 失败状态
    

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

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

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

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

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

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

const promise = new Promise((resolve, reject) => { 
   
    // do something here ...
    if (success) { 
   
        resolve(value); // fulfilled
    } else { 
   
        reject(error); // rejected
    }
});

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/132895.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 点击图标打不开软件_pycharm安装完没有图标

    点击图标打不开软件_pycharm安装完没有图标情况说明:Pycharm在之前都可以正常打开,但是在我修改了它的安装存储目录后,点击图标就打不开了,而且没有任何反应!条件说明:我下载的pycharm是官方网站下载的。如何解决不可打开问题:步骤1.进入你的安装pycharm的bin文件,找到pycharm.exe.vmoptions和pycharm64.exe.vmoptions步骤2:分别将其打开,将里面的jar…

    2022年8月27日
    0
  • java冒泡排序经典代码_Java干货分享:冒泡排序

    java冒泡排序经典代码_Java干货分享:冒泡排序不管学习什么编程语言,冒泡排序都是每一个走上IT路的小伙伴的必经之路。但是还有好多小伙伴对冒泡排序摸不着头脑,今天知了堂小编就来分享一下经典算法——冒泡排序。首先咱们举个金鱼吐泡泡的例子来理解冒泡排序的过程:金鱼吐出的一连串泡泡就是我们要排序的数据,数据就像泡泡浮上水面一样一个一个被排好序,吐出的泡泡越大就会越快浮出水面,相应的,数据里某一个数字越大,那么就能越快的被排好序,当然最大的数字也是第一…

    2022年7月7日
    15
  • nginx多域名配置

    nginx多域名配置

    2022年2月8日
    33
  • 测试用例的设计方法(全)「建议收藏」

    测试用例的设计方法(全)「建议收藏」测试用例的设计方法(全)等价类划分方法:一.方法简介1.定义 是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。   2.划分等价类: 等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类

    2022年10月12日
    0
  • Allure 安装

    Allure 安装 一、命令行安装:1、Linux:sudoapt-add-repositoryppa:qameta/alluresudoapt-getupdatesudoapt-getinstallallure2、MacOSX:brewinstallallure3、Windows下先安装Scoop,再运行以下命令:scoopinstallallure…

    2022年7月26日
    7
  • Ace在线代码编辑器使用「建议收藏」

    Ace在线代码编辑器使用「建议收藏」这边文章https://blog.csdn.net/liuxiao723846/article/details/106732401介绍了Ace的使用,本文围绕Ace的api深入介绍其具体功能。官网api使用文档:https://ace.c9.io/#nav=howto1、基本配置:ace有许多的配置项可供选择,通过这些配置项可以打造自己的个性编辑器你可以通过setTheme来设置主题,需要注意的是主题文件要存在,并且需要与ace.js同级,命名规则为theme-主题名.jsedito.

    2022年8月14日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号