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

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)
})
http://www.lryc.cn/news/322706.html

相关文章:

  • [Spark SQL]Spark SQL读取Kudu,写入Hive
  • python统计分析——t分布、卡方分布、F分布
  • onlyoffice创建excel文档
  • 交通事故档案管理系统|基于JSP技术+ Mysql+Java+Tomcat的交通事故档案管理系统设计与实现(可运行源码+数据库+设计文档)
  • Chrome 114 带着侧边栏扩展来了
  • 【论文笔记】RobotGPT: Robot Manipulation Learning From ChatGPT
  • 深度学习 Lecture 4 Adam算法、全连接层与卷积层的区别、图计算和反向传播
  • uniApp中使用小程序XR-Frame创建3D场景(1)环境搭建
  • AI基础知识(4)--贝叶斯分类器
  • 填补市场空白,Apache TsFile 如何重新定义时序数据管理
  • Docker 笔记(七)--打包软件生成镜像
  • 图论06-飞地的数量(Java)
  • Java设计模式之单例设计模式
  • 多维时序 | MATLAB实现BiTCN-selfAttention自注意力机制结合双向时间卷积神经网络多变量时间序列预测
  • 深入了解Android垃圾回收机制
  • 如何学好Python语言
  • 计算机408网课评测+资料分享
  • 使用 ZipArchiveInputStream 读取压缩包内文件总数
  • JavaScript对象修饰教程
  • 转置卷积(transposed-conv)
  • P1481 魔族密码
  • 无人机/飞控--ArduPilot、PX4学习记录(2)
  • 【Arxml专题】-29-使用Cantools将CAN Matrix Arxml自动生成C语言代码
  • 【id:21】【20分】E. 抄袭查找(结构体+指针+函数)
  • ASP.NET-常用控件总结
  • SpringBoot3整合Mybatis-Plus与PageHelper包冲突解决
  • MQTT Keep Alive机制
  • 基于springboot+vue的游戏交易系统
  • 高职(大专)结构化面试之答题思路
  • Python基础学习笔记(一)