AJAX-Promise

定义

Promise对象用于表示(管理)一个异步操作的最终完成(或失败)及其结果值。

好处:1)成功和失败状态,可以关联对应处理程序 2)了解axios函数内部运作机制 3)能解决回调函数地狱问题

语法:

//1.创建Promise对象
const p=new Promise((resolve,reject)=>{
    //2.执行异步任务-并传递结果
    //成功调用:resolve(值) 触发then()执行
    //失败调用:reject(值) 触发catch()执行
})
//3.接收结果
p.then(result=>{
    //成功
}).catch(error=>{
    //失败
})

new Error('错误信息'):创建一个错误对象

三种状态

概念:一个Promise对象,必然处于以下几种状态之一

1)待定(pending):初始状态,既没有被兑现,也没有被拒绝

2)已兑现(fulfilled):意味着,操作成功完成

3)已拒绝(rejected):意味着,操作失败

注意:Promise对象一旦被兑现/拒绝就是已敲定了,状态无法再被改变

Promise对象创建时,Promise对象里的代码就会在执行了

//创建Promise对象
const p=new Promise((resolve,reject)=>{
    //执行XHR异步代码,获取省份列表
    const xhr = new XMLHttpRequest()
    xhr.open(请求方式,URL)
    xhr.addEventListner('loadend',()=>{
        //响应状态码为2xx都是成功响应
        if(xhr.status >=200 && xhr.status < 300){
            resolve(JSON.parse(xhr.response))
        }else{
            reject(new Error(xhr.response))
        }
    })
    xhr.send()
})

//关联成功或失败函数,做后续处理
p.then(result=>{
    //成功
}).catch(error=>{
    //错误对象要用console.dir详细打印
    console.dir(error)
})

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

七仔充电桩平台 二轮电动自行车 四轮汽车 云快充1.5 云快充1.6

文章目录 一、产品功能部分截图1.手机端&#xff08;小程序、安卓、ios&#xff09;2.PC端 二、小程序体验账号以及PC后台体验账号1.小程序体验账号2.PC后台体验账号关注公众号获取最新资讯 三、产品简介&#xff1f;1. 充电桩云平台&#xff08;含硬件充电桩&#xff09;&…

ORACLE查询拼接字段,显示clob原因,及解决办法

今天查询一个字段&#xff0c;使用了拼接&#xff0c;然后查出来就显示clob&#xff1a; 代码如下&#xff1a; SELECT LOAD_DATE, CINO, WM_CONCAT(CITYP) AS CITYPFROM ODS.ZN_CUSTCITYP GROUP BY CINO,LOAD_DATE 显示如图&#xff1a; 解决办法&#xff1a; select t.普…

Java-SSM医院在线预约系统

Java-SSM医院在线预约系统 1.服务承诺&#xff1a; 包安装运行&#xff0c;如有需要欢迎联系&#xff08;VX:yuanchengruanjian&#xff09;。 2.项目所用框架: 前端:JSP、layui等。 后端:SSM,即Spring、SpringMvc、Mybatis等。 3.项目功能点: 1.管理员功能: a.修改个人信息…

[ Django ] 统计接口访问频次

需求及实现思路 需求&#xff1a;统计django项目中接口的调用次数 思路&#xff1a;中间件异步任务celery缓存redis/直接使用中间件&#xff08;会增加中间件的压力&#xff09; 具体思路&#xff1a; 定义中间件&#xff0c;在中间件中响应走的时候判断该请求的url是否存在…

【吾爱破解】Android初级题(二)的解题思路 _

拿到apk&#xff0c;我们模拟器打开看一下 好好&#xff0c;抽卡模拟器是吧&#x1f600; jadx反编译看一下源码 找到生成flag的地方&#xff0c;大概逻辑就是 java signatureArr getPackageManager().getPackageInfo(getPackageName(), 64).signaturesfor (int i 0; i &l…

综合知识篇15-开发管理考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例…

C# 读取二维数组集合输出到Word预设表格

目录 应用场景 设计约定 范例运行环境 配置Office DCOM 实现代码 组件库引入 核心代码 DataSet转二维数组 导出写入WORD表格 调用举例 小结 应用场景 存储或导出个人WORD版简历是招聘应用系统中的常用功能&#xff0c;我们通常会通过应用系统采集用户的个人简历信息…

01、Lua 入门教程

Lua 入门教程 Lua是一种轻量小巧的脚本语言&#xff0c;用标准C语言编写并以源代码形式开放&#xff0c; 其设计目的是为了嵌入应用程序中&#xff0c;从而为应用程序提供灵活的扩展和定制功能。 Lua是巴西里约热内卢天主教大学&#xff08;Pontifical Catholic University of…

使用uni-app框架进行移动端的适配(uniapp px转rpx)

1、打开uniapp 官网找到 插件市场介绍2、点击插件市场 px2rpx - DCloud 插件市场3、选择使用HBuilderX导入插件4、在HBuilder中点击右键选择开启px2rpx 5、开启成功后会有提示 6、根据设计搞的尺寸就行&#xff0c;我的是在这750*1620的&#xff0c;正常写px&#xff0c;保存…

ES6中的Set集合

Set集合 ES6 提供了新的数据结构Set(集合)。 它类似于数组&#xff0c;但成员的值都是唯一的集合实现了 iterator 接口&#xff0c;所以可以使用「扩展运算符」和[for…of…」进行遍历集合的属性和方法 集合的属性和方法&#xff1a; 1&#xff09;size&#xff0c;返回集合的元…

Java-SSM学生信息管理统

Java-SSM学生信息管理统 1.服务承诺&#xff1a; 包安装运行&#xff0c;如有需要欢迎联系&#xff08;VX:yuanchengruanjian&#xff09;。 2.项目所用框架: 前端:JSP、layui等。 后端:SSM,即Spring、SpringMvc、Mybatis等。 3.项目功能点: 1.前台功能: 1.注册、登录 2.课程…

分布式链上随机数和keyless account

1. 引言 相关论文见&#xff1a; Aptos团队2024年论文 Distributed Randomness using Weighted VRFs 相关代码实现见&#xff1a; https://github.com/aptos-labs/aptos-core&#xff08;Rust&#xff09; 在链中生成和集成共享随机数&#xff0c;以扩展应用和强化安全。该…

四、C语言中的数组:如何输入与输出二维数组(数组,完)

本章的学习内容如下 四、C语言中的数组&#xff1a;数组的创建与初始化四、C语言中的数组&#xff1a;数组的输入与元素个数C语言—第6次作业—十道代码题掌握一维数组四、C语言中的数组&#xff1a;二维数组 1.二维数组的输入与输出 当我们输入一维数组时需要一个循环来遍历…

经典Bug永流传---每周一“虫”(四十五)

如果有人错过机会&#xff0c;多半不是机会没来&#xff0c;而是因为机会过来时&#xff0c;没有一伸手抓住它。 大写W惹的祸 前提&#xff1a; A账号已登录 步骤&#xff1a; 打开某商品链接&#xff0c;然后在商品的评论区任意一条评论&#xff0c;点击回复&#xff0c;回…

Flink入门知识点汇总(一)

具体内容请看b站尚硅谷课程&#xff01; 32_Flink运行时架构_提交流程_Yarn应用模式_哔哩哔哩_bilibili Flink本身有状态机制&#xff0c;状态都存储在Flink内部结构中&#xff0c;无需集成Mysql等对于精确一次Exactly-once&#xff0c;Flink进行了相关的配置&#xff0c;无需像…

爱因斯坦可以教给在机器学习中利用对称性

爱因斯坦可以教给我们关于机器学习的知识 在机器学习中利用对称性 目录 一、说明二、物理学中的对称性三、机器学习中的对称性四、卷积神经网络 &#xff08;CNN&#xff09; 中的对称性五、将对称性集成到机器学习中&#xff0c;用于平面图像及其他图像六、引用 一、说明 在许…

【MySQL】对表的相关操作(DDL)

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习计网、mysql和算法 ✈️专栏&#xff1a;MySQL学习 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac…

[Python人工智能] 四十四.命名实体识别 (5)利用bert4keras构建Bert-CRF实体识别模型(实体位置)

从本专栏开始,作者正式研究Python深度学习、神经网络及人工智能相关知识。前文讲解如何实现中文命名实体识别研究,构建BiGRU-CRF模型实现。这篇文章将继续以中文语料为主,介绍融合Bert的实体识别研究,使用bert4keras和kears包来构建Bert+BiLSTM-CRF模型。然而,该代码最终结…

GPT模型部署后续:聊天机器人系统的扩展与优化

一、多轮对话支持 为了实现多轮对话支持&#xff0c;我们需要维护用户的会话上下文。这可以通过在服务器端使用一个字典来存储会话状态实现。 目录 一、多轮对话支持 下面是一个简单的扩展例子&#xff1a; 二、性能优化 三、用户界面与交互优化 下面是一个简单的HTML示例&…

如何使用Python进行网络安全与密码学【第149篇—密码学】

&#x1f47d;发现宝藏 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。【点击进入巨牛的人工智能学习网站】。 用Python进行网络安全与密码学&#xff1a;技术实践指南 随着互联网的普及&#xff0c;网络…