当前位置: 首页 > news >正文

Promise的理解和使用

Promise是什么

抽象表达

  • promise 是一门新的技术(ES6规范)
  • Promise 是JS中进行异步编程的新解决方案

具体表达

  • 从语法上来说:Promise是一个构造函数
  • 从功能上来说:promise对象用来封装一个异步操作并可以获取其成功/失败的结果

回调函数就是一个被作为参数传递的函数

为什么要使用Promise

指定回调函数的方式更加灵活

  • 旧的:必须在启动异步任务前指定
  • promise:启动异步任务——返回promise对象——给promise对象绑定回调函数

支持链式调用,可以解决回调地狱问题

1、什么是回调地狱
回调函数嵌套调用,外部回调函数异步执行的结果是嵌套的回调执行的条件
2、回调地狱的缺点

  • 不便于阅读
  • 不便于异常处理
    3、解决方案
  • promise链式调用

promise的状态改变

1、pending 变为 resolved
2、pending 变为 rejected

说明 只有这两种,且一个promise对象只能改变一次,无论变为成功还是失败,都会有一个结果数据
成功的结果数据一般称为value,失败的结果数据一般称为 reason

promise 对象的值

实例对象中的另一个属性 [PromiseResult]
保存着对象 [成功/失败] 的结果

  • resolve
  • reject

promise的基本流程

在这里插入图片描述

相关文章:

Promise的理解和使用

Promise是什么 抽象表达 promise 是一门新的技术(ES6规范)Promise 是JS中进行异步编程的新解决方案 具体表达 从语法上来说:Promise是一个构造函数从功能上来说:promise对象用来封装一个异步操作并可以获取其成功/失败的结果 回调函数就…...

TCP

TCP 流量控制 一般来说,我们希望数据传输的快一些,但如果对方把数据发送的过快,接收方就可能来不及接收,这就会造成数据的丢失 流量控制就是让发送方的发送速率不要太快,让接收方来得及接收 利用滑动窗口机制可以在TCP连接上实现对发送方的流量控制 TCP接收方利用自己的接收…...

Python每日一练(20230310)

目录 1. 爬楼梯 ★ 2. 删除无效的括号 ★★★ 3. 给表达式添加运算符 ★★★ 🌟 每日一练刷题专栏 C/C 每日一练 ​专栏 Python 每日一练 专栏 1. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方…...

LeetCode-1590. 使数组和能被 P 整除【前缀和,哈希表】

LeetCode-1590. 使数组和能被 P 整除【前缀和,哈希表】题目描述:解题思路一:前缀和,具体看注释。解题思路二:在遍历过程中计算前缀和解题思路三:0题目描述: 给你一个正整数数组 nums&#xff0…...

Java核心类库

Java核心类库类Math(☆☆☆)System(☆☆☆)Object(☆☆☆☆)Objects (☆)BigDecimal(☆☆☆☆)基本类型的包装类(☆☆☆☆☆)算法(☆☆☆☆☆)二分查找冒泡排序递归Arrays(☆☆☆☆)Date (☆☆☆☆☆)SimpleDateFormat(☆☆☆☆☆)LocalDateTime (☆)Throwable 类(☆☆☆☆)Str…...

1110道Java面试题及答案(最新Java初级面试题大汇总)

开篇小叙 现在 Java 面试可以说是老生常谈的一个问题了,确实也是这么回事。面试题、面试宝典、面试手册......各种 Java 面试题一搜一大把,根本看不完,也看不过来,而且每份面试资料也都觉得 Nice,然后就开启了收藏之路…...

DML 添加、修改、删除数据

目录 DML 一、添加数据 1、给指定字段添加数据 2、给全部字段添加数据 3、批量添加数据 二、修改数据 三、删除数据 DML DML英文全称是Data Manipulation Language(数据操作语言),用来对数据库中表的数据记录进行增、删、改操作。 一、添加数据 1、给指定字…...

千川投放50问(完)!如何跑出高投产?

第四十一问:计划初期成本很高,是否要关掉重新跑?首先看一下是不是初期回传延迟导致的成本偏高。如果成本没有高的,不建议暂停,先观察一段时间数据,给它一点学习时间。当系统积累过足够的模型之后&#xff0…...

每日学术速递3.10

CV - 计算机视觉 | ML - 机器学习 | RL - 强化学习 | NLP 自然语言处理 Subjects: cs.RO 1.Diffusion Policy: Visuomotor Policy Learning via Action Diffusion 标题:扩散策略:通过动作扩散进行视觉运动策略学习 作者:Cheng Chi, Si…...

[C/C++]_[初级]_[声明和使用字符串常量和字节常量]

场景 我们需要存储常量的字节数组,并且数组里的字节数据可以是任意数值0-255。怎么存储? 说明 任意字节数组可以使用char或者unsigned char作为数据类型。比如以下的字符串声明。这种字符串数据可以通过strlen(buf)来计算它的长度,它会遇到…...

解Bug之路-Nginx 502 Bad Gateway

前言 事实证明,读过Linux内核源码确实有很大的好处,尤其在处理问题的时刻。当你看到报错的那一瞬间,就能把现象/原因/以及解决方案一股脑的在脑中闪现。甚至一些边边角角的现象都能很快的反应过来是为何。笔者读过一些Linux TCP协议栈的源码…...

目标检测 pytorch复现R-CNN目标检测项目

目标检测 pytorch复现R-CNN目标检测项目1、R-CNN目标检测项目基本流程思路2、项目实现1 、数据集下载:2、车辆数据集抽取3、创建分类器数据集3、微调二分类网络模型4、分类器训练5、边界框回归器训练6、效果测试目标检测 R-CNN论文详细讲解1、R-CNN目标检测项目基本…...

荧光染料IR-825 NHS,IR825 NHS ester,IR825 SE,IR-825 活性酯

IR825 NHS理论分析:中文名:新吲哚菁绿-琥珀酰亚胺酯,IR-825 琥珀酰亚胺酯,IR-825 活性酯英文名:IR825 NHS,IR-825 NHS,IR825 NHS ester,IR825 SECAS号:N/AIR825 NHS产品详…...

利用Postman的简单运用解决小问题的过程

这几天在修改一个前后端分离的商城项目。项目前端向后端发出数据请求之后,收到的却是504网关超时错误。 但是控制台却不止报错了网关超时,还有跨域请求的问题: 根本搞不清是哪个问题导致了另外一个问题还是独立的两个问题。 直接点击网址访…...

【C语言】8道经典指针笔试题(深度解剖)

上一篇我们也介绍了指针的笔试题,这一篇我们趁热打铁继续讲解8道指针更有趣的笔试题,,让大家更加深刻了解指针,从而也拿下【C语言】指针这个难点! 本次解析是在x86(32位)平台下进行 文章目录所需储备知识笔…...

操作系统内核与安全分析课程笔记【2】进程管理与调度

文章目录基本概念与关键数据结构进程管理进程生命周期进程的关系进程家族树线程组进程组与会话进程的创建与终止Linux中的线程基本概念与关键数据结构 进程:静态的,存储在磁盘上的代码与数据。 程序:动态的,执行程序的动态过程&am…...

看完书上的栈不过瘾,为什么不动手试试呢?

一.栈的基本概念1.栈的定义栈(Stack):是只允许在一端进行插入或删除的线性表。首先栈是一种线性表,但限定这种线性表只能在某一端进行插入和删除操作。其中注意几点:栈顶(Top):线性表…...

AbstractQueuedSynchronizer从入门到踹门

概念设计初衷:该类利用 状态队列 实现了一个同步器,更多的是提供一些模板方法(子类必须重写,不然会抛错)。 设计功能:独占、共享模式两个核心,state、Queue2.1 statesetState、compareAndSetSta…...

【项目实战】手把手教你Dubbo微服务架构中整合熔断限流组件Sentinel

一、背景 项目中需要引入Sentinel来实现限流,但是项目是基于Dubbo的微服务架构,我们都知道Sentinel是属于SpringCloudAlibaba组件下的限流中间件,基于Dubbo的微服务架构真的能够引入 Sentinel吗?带着疑惑的心情,实践了一把~ 二、使用说明 2.1 引入依赖文件 <!-- Se…...

图像主题颜色提取(Median cut)

前言 之前想对图片素材进行分类管理&#xff0c;除了打标签&#xff0c;还有一样是通过主题色进行分类。于是开始寻找能提取主主题色的工具&#xff0c;最后找到了大名鼎鼎的 Leptonica 库&#xff0c;其中就有中位切割算法的实现。下面附上中位切割算法的其它语言版本的实现。…...

若依框架单点登录!!!

一、不分离版在application.yml设置maxSession为1即可。修改shiro的配置shiro:session:# 同一个用户最大会话数&#xff0c;比如2的意思是同一个账号允许最多同时两个人登录&#xff08;默认-1不限制&#xff09;maxSession: 1# 踢出之前登录的/之后登录的用户&#xff0c;默认…...

洛谷 P1833:樱花 ← 混合背包(01 + 完全 + 多重)

【题目来源】 https://www.luogu.com.cn/problem/P1833 【题目描述】 爱与愁大神后院里种了 n 棵樱花树&#xff0c;每棵都有美学值 Ci(0<Ci≤200)。爱与愁大神在每天上学前都会来赏花。爱与愁大神可是生物学霸&#xff0c;他懂得如何欣赏樱花&#xff1a;一种樱花树看一遍…...

手把手教你用SteamCMD在Windows服务器上搭建Rust腐蚀私服(附详细参数配置)

手把手教你用SteamCMD在Windows服务器上搭建Rust腐蚀私服&#xff08;附详细参数配置&#xff09; 在生存游戏领域&#xff0c;Rust以其硬核的PVP机制和高度自由的沙盒玩法&#xff0c;持续吸引着大量玩家。对于想要掌控游戏规则、打造专属社区的管理员来说&#xff0c;自建服…...

本地 AI 智能体落地:OpenClaw 如何稳定运行并真正提效?

最近我把 OpenClaw 作为核心自动化工具来使用了一段时间。它能让大模型直接操作电脑&#xff0c;跑脚本、处理文件、启动服务、执行批量任务&#xff0c;这种 “本地自动化” 体验非常真实。 但一开始我也被它的 “不稳定” 搞得很崩溃。 1. OpenClaw 的真正价值&#xff08;…...

如何用SVGnest提升材料利用率:从问题到解决方案的完整指南

如何用SVGnest提升材料利用率&#xff1a;从问题到解决方案的完整指南 【免费下载链接】SVGnest An open source vector nesting tool 项目地址: https://gitcode.com/gh_mirrors/sv/SVGnest 制造业材料浪费的隐形成本&#xff1a;您的企业是否正在损失30%利润&#xff…...

OneAgent智能体全球发布会圆满落幕:引领金融AI交易新时代

2026年3月25日&#xff0c;聚焦金融AI领域的盛会《OneAgent智能体全球产品发布会》在中国杭州成功落幕。本次发布会吸引了全球金融科技领域的行业专家、投资机构以及技术爱好者的关注&#xff0c;标志着OneAgent在全球AI金融市场的战略布局正式启动。AI原生对冲交易新物种&…...

MusePublic圣光艺苑惊艳案例:基于真实建筑数据生成文艺复兴城市图景

MusePublic圣光艺苑惊艳案例&#xff1a;基于真实建筑数据生成文艺复兴城市图景 1. 引言&#xff1a;当古典建筑遇见AI画笔 想象一下&#xff0c;你手头有一份欧洲某座历史名城的建筑测绘数据&#xff0c;里面记录了数百座教堂、广场和宫殿的精确尺寸与风格特征。过去&#x…...

RPA-Python与pytest-google-app-engine集成:Google App Engine测试自动化完整指南

RPA-Python与pytest-google-app-engine集成&#xff1a;Google App Engine测试自动化完整指南 【免费下载链接】RPA-Python Python package for doing RPA 项目地址: https://gitcode.com/gh_mirrors/rp/RPA-Python RPA-Python是一个功能强大的Python机器人流程自动化工…...

轻量级工具G-Helper:一站式解决ROG游戏本色彩配置异常问题

轻量级工具G-Helper&#xff1a;一站式解决ROG游戏本色彩配置异常问题 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops. Control tool for ROG Zephyrus G14, G15, G16, M16, Flow X13, Flow X16, TUF, Strix, Scar and other models 项目…...

2.4 微积分与自动微分1

微积分 导数与微分 操作之前记得检查版本确保 matplotlib 正确安装&#xff1a;在d2l环境下输入pip install matplotlib (windows版) 重启jupyter就可以运行了&#xff08;如果还是不行自行移步ai&#xff09; 1.我们通过简单的微分方式得到我们需要的极限 2.之后我们再试着…...