首页 > 其他分享 >Promise对象的特点

Promise对象的特点

时间:2024-03-13 15:02:36浏览次数:23  
标签:异步 函数 状态 对象 特点 Promise pending

Promise对象的特点·:

对象的状态不受外界影响。

Promise对象代表一个异步操作,有三种状态:

pending(进行中)

fulfilled(已成功)

rejected(已失败)

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

·一旦状态改变,就不会再变,任何时候都可以得到这个结果。Promise对象的状态改变,只有两种可能:从pending变为fulfilled和从pending变为re.jected。只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为resolved(已定型)。

Promise的缺点·:

无法取消Promise,一旦新建它就会立即执行,无法中途取消。·如果不设置回调函数,Promise内部抛出的错误,不会反应到外部。·当处于pending状态时,无法得知目前进展到哪一个阶段(刚刚开始还是即将完成)。

Promise构造函数接受一个函数作为参数,该函数的两个参数分别是resolvereject

它们是两个函数,由JavaScript 引擎提供,不用自己部署。·resolve函数的作用是,将Promise对象的状态从“未完成”变为“成功”(即从 pending变为fulfilled),在异步操作成功时调用,并将异步操作的结果,作为参数传递出去。

·reject函数的作用是,将Promise对象的状态从“未完成”变为“失败”(即从 pending 变为 rejected),在异步操作失败时调用,并将异步操作报出的错误,作为参数传递出去。

promise.then(function(value){
//value
}, 
function(error){
//error
});

同时

then方法可以接受两个回调函数作为参数。

第一个回调函数是Promise对象的状态变为fulfilled时调用

第二个回调数是Promise对象的状态变为rejected时调用

其中,第二个函数是可选的,不一定要提供。·这两个函数都接受Promise对象传出的值作为参数。

标签:异步,函数,状态,对象,特点,Promise,pending
From: https://blog.csdn.net/qq_53018064/article/details/136680276

相关文章

  • 【Javascript】 Promise 对象(一)
    Promise的含义Promise是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise对象。所谓Promise,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个异步操......
  • 【DM8】7-用户和对象管理
    7-用户和对象管理–用户权限角色用户是连接数据库进行相关操作的–模式是一个用户拥有的所有数据库对象的集合每个用户都有自己默认的模式模式名和用户名一样–权限是执行特定类型sql命令或访问其他模式对象的权利,用于限制用户可执行的操作–角色是将具有相同权......
  • c++初阶------类和对象(下)
    作者前言......
  • QML Date对象处理日期和时间
    一.QML Date介绍在QML中,Date对象用于处理日期和时间。以下是关于Date对象的详细介绍:构造方法:newDate():创建一个代表当前日期和时间的Date对象。newDate(value):根据自1970年1月1日以来的毫秒数创建一个Date对象。newDate(dateString):根据给定的字符串创建一个Date对象。......
  • Claude3、GPT-4 、Gemini、Sora:五大模型的技术特点与功能
    【最新增加Claude3、Gemini、Sora、GPTs讲解及AI领域中的集中大模型的最新技术】2023年随着OpenAI开发者大会的召开,最重磅更新当属GPTs,多模态API,未来自定义专属的GPT。微软创始人比尔盖茨称ChatGPT的出现有着重大历史意义,不亚于互联网和个人电脑的问世。360创始人周鸿祎认......
  • 搭建Apache+PHP+MySQL的Web服务器环境测试PHP时找不到url对象
    检查了apache的服务都是正常运行,配置文件也没有问题,搜了很多方法还是一样,最后发现是新建文本文档时重命名后(文件管理器没有显示后缀名)没有修改文件后缀。关键检查php的隐藏后缀名有没有更改!!!问题的发现浏览器输入http://localhost返回发现目录下我以为是first.php的文件实际上的......
  • 面向对象
    面向对象和面向过程的辨析面向过程编程(ProcedureOrientedProgramming)核心思想:面向过程的核心是以过程或者说函数作为程序设计的基本单元,强调的是解决问题的步骤和顺序。特点程序结构清晰,通常体现为函数的组合和调用,关注的是如何一步步地执行操作。数据和处理数据的函......
  • 面向对象设计的六大原则(SOLID原则)-——开闭原则
    开闭原则(Open-ClosedPrinciple,OCP)是面向对象设计的五大SOLID原则之一。这个原则主张“软件实体(类、模块、函数等)应该对扩展开放,对修改关闭”。也就是说,软件的设计应该允许在不修改原有代码的情况下增加新的功能。这样的设计有助于降低代码的复杂性和维护成本,同时提高系统的可复......
  • 文件上传功能模块——对象存储
    对象存储功能在文件上传业务中,我们通常把这个功能将他拆分成对象存储微服务。这样前端发起请求,网关就会把请求路由到对应的对象存储微服务,这样就不需要再保险业务开发上传功能。业务流程前端的请求通过网关路由到对象存储微服务中,对象存储将提供的文件上传到阿里云中,并返回文件......
  • [3] C++面向对象编程
    Day1函数指针数组简写函数指针typedeftypedefint(*FunPtr)(int,int);FunPtrFunArr[1]={Add};内联函数#pragmaregion内联函数//避免函数跳转对于程序的额外开销//有两种写法1).h中写实现文件(在.h中同时写声明和实现)//2)inline关键字......