ES6 Promise对象

1、概念
  • 语法上:是一个构造函数,用来生成 Promise 实例;
  • 功能上:用来封装一个异步操作,并可以获取起成功或失败的结果值。
2、三种状态:
  • pending 进行中
  • fulfilled 成功的
  • rejected 失败的
3、特点:
  • 对象的状态不受外界影响,只有异步操作的结果,可以决定当前是哪一种状态。
  • 状态改变只有两种可能(pending -> fulfilled 或者 pending -> rejected ),而且一旦状态改变,就不会再变,任何时候都可以得到这个结果。
const P = new Promise((resolve,reject) => {resolve('ok')reject('error')
}
// 输出结果始终为 ok
4、实例方法
4.1 then 方法
  • 实例状态发生改变时的回调函数;
  • 第一个参数用来处理成功的函数;
  • 第二个参数用来处理失败的函数(一般使用 catch 代替)。
getJSON("/posts.json").then(function(json) {return json.post;
}).then(function(post) {// ...
});
4.2 catch 方法
  • 用来处理发生错误时的回调函数
  • then 的第二个参数的别名
getJSON('/posts.json').then(function(posts) {// ...
}).catch(function(error) {// 处理 getJSON 和 前一个回调函数运行时发生的错误console.log('发生错误!', error);
});
4.3 finally 方法
  • 不常用,无参数
  • 不管 Promise 对象最后的状态如何,都会进行的操作

  • 本质是 then 方法的特例
promise
.then(result => {···})
.catch(error => {···})
.finally(() => {···});

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/30156.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NL2SQL进阶系列(1):DB-GPT-Hub、SQLcoder、Text2SQL开源应用实践详解

1. MindSQL(库) MindSQL 是一个 Python RAG(检索增强生成)库,旨在仅使用几行代码来简化用户与其数据库之间的交互。 MindSQL 与 PostgreSQL、MySQL、SQLite 等知名数据库无缝集成,还通过扩展核心类,将其功能扩展到 Sn…

实例详解C/C++中static与extern关键字的使用

目录 1、概述 2、编译C++代码时遇到的变量及函数重复定义的问题 3、用 extern 声明外部变量 4、extern与全局函数 5、为何在变量和函数前添加一个static关键字编译就没问题了呢? 6、静态局部变量 7、函数的声明与定义都放置到一个头文件中,不使用static,通过宏控制去…

2024.06.18 刷题日记

76. 最小覆盖子串 这道题目的思路是利用哈希表来存储字符串的字符出现的频率,然后利用滑动窗口来确定是否包含目标串,如果没有包含,就继续滑动右指针。当子串已经包含的时候,就收缩窗口,更新答案,以及右移…

2024年6月记录

1.C/C中typedef的用法大全_C 语言_脚本之家

C#数电票查验的简便方式

数电票,全称全面数字化的电子发票,也被称为数电发票或全电发票。它是与纸质发票具有同等法律效力的全新发票形式,不再以纸质形式存在,而是完全数字化,无需介质支撑,也不需要预先申请领用。现如今&#xff0…

MyBatisPlus可以自动把我们的业务对应的动态代理接口注入到父类baseMapper属性中,因此我们可以省略对应的mapper动态代理接口

MyBatisPlus可以自动把我们的业务对应的动态代理接口注入到父类baseMapper属性中,因此我们可以省略对应的mapper动态代理接口 在service服务实现类中,当我们使用MyBatis框架的时候,那么一般会有一个类似于下面的动态地理接口的显示引入&…

【Java】已解决java.lang.UnsupportedOperationException异常

文章目录 问题背景可能出错的原因错误代码示例正确代码示例注意事项 已解决java.lang.UnsupportedOperationException异常 在Java编程中,java.lang.UnsupportedOperationException是一个运行时异常,通常表示尝试执行一个不支持的操作。这种异常经常发生…

【附带源码】机械臂MoveIt2极简教程(五)、第二个demo - rviz可视化

系列文章目录 【附带源码】机械臂MoveIt2极简教程(一)、moveit2安装 【附带源码】机械臂MoveIt2极简教程(二)、move_group交互 【附带源码】机械臂MoveIt2极简教程(三)、URDF/SRDF介绍 【附带源码】机械臂…

Java中和的区别

在Java中,& 和 && 都是逻辑运算符,但它们之间存在一些重要的区别,特别是在它们如何评估其操作数以及它们的性能影响方面。 短路评估(Short-Circuit Evaluation): &&(逻辑…

免费分享:2014-2021年OSM中国POI数据(附下载方法)

OpenStreetMap(OSM)是一个全球性的开源协作地图项目,允许任何人编辑和分享地理信息,旨在创建自由、准确且可广泛使用的世界地图。POI是“Point of Interest”的缩写,意为“兴趣点”。 OSM POI矢量数据是OpenStreetMap项…

超神级!Markdown最详细教程,程序员的福音

超神级!Markdown最详细教程,程序员的福音Markdown最详细教程,关于Markdown的语法和使用就先讲到这里,如果喜欢,请关注“IT技术馆”。馆长会更新​最实用的技术!https://mp.weixin.qq.com/s/fNzhLFyYRd3skG-…

Hash路由、History路由原理及优缺点

Hash路由 原理: 主要基于浏览器提供的window.location.hash属性。 初始化时: 浏览器地址栏中的URL会包含一个"#"符号及其后面的部分,称为"hash"。 前端程序会监听window.onhashchange事件,在hash发生变化时触发回调函数。路由切换时: 当用户…

为什么人们对即将推出的 Go 1.23 迭代器感到愤怒

原文:gingerBill - 2024.06.17 TL;DR 它让 Go 变得太“函数式”,而不再是不折不扣的命令式语言。 最近,我在 Twitter 上看到一篇帖子,展示了 Go 1.23(2024 年 8 月)即将推出的 Go 迭代器设计。据我所知&a…

golang windows打包为linux可执行文件

使用go的交叉编译功能 set GOOSlinux set GOARCHamd64然后再执行go build 可能会报异常, 所以贴出我的go env配置仅供参考 go env环境配置 D:\GoWork\src\go-tzv>go env set GO111MODULEauto set GOARCHamd64 set GOBIN …

寄存器和存储器的区别与联系

在计算机系统中,寄存器和存储器是两个重要的概念,它们在数据存储和处理过程中扮演着不同但互补的角色。本文将详细讨论寄存器和存储器的区别与联系。 1. 基本概念 **寄存器(Register)**是一种速度极快的小容量存储单元&#xff…

Maven 插件列表详解

Maven 是一个强大的项目管理和构建工具,广泛应用于 Java 项目中。作为一款优秀的构建管理工具,Maven 不仅提供了标准化的项目结构和依赖管理,还通过其丰富的插件系统,极大地扩展了其功能和灵活性。无论是代码编译、测试、打包&…

2024级中国社科院中外合作办学双证博士和英国斯特灵的管理学博士

2024级中国社科院中外合作办学双证博士和英国斯特灵的管理学博士 中国社科院-英国斯特灵大学合办的创新与领导力博士项目(DOCTOR OF MANAGEMENT 简称“DMAN”)是中国社会科学院大学(中国社会科学院研究生院)第一个博士层次的中外…

Win 10/Win 11 共享/远程访问的后续设置以及如何查看电脑的账户密码

共享设置 如何给文件设置共享这里不谈,右键属性添加共享,类似的教程也有很多(如果这步都搞不定建议就不要折腾了,老老实实的用U盘吧) 如果不出意外的话,你在网络界面是看不到共享pc和文件的 这时候需要两…

【VS2022 编译UE5.1 错误 C4834 】

这里写自定义目录标题 错误 错误 使用VS2022编译UE5.1源码,错误 C4834 放弃具有 [[nodiscard]] 属性的函数的返回值 F:\UE\Engine\Plugins\Runtime\Steam\SteamVR\Source\SteamVRInputDevice\Private\SteamVRInputDeviceFunctionLibrary.cpp(513): error C4834: d…

python jieba中文文本切割成句子

# -*- coding: utf-8 -*- # Time : 2024/6/18 10:26 # Author : Cocktail_py import jieba.posseg as psegdef cut_sentences(text):"""中文句子分割"""# 使用jieba的分句模块sentences pseg.cut(text)result []tmp []for word, flag in …