位置: IT常识 - 正文

ES6中 Promise 概念、基本用法和封装ajax(json数据使用)(es6 promise是什么)

编辑:rootadmin
ES6中 Promise 概念、基本用法和封装ajax(json数据使用)

目录

一、定义

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

2.一旦状态改变了就不会在变,也就是说任何时候Promise都只有一种状态。

二、基础用法(Proimse.prototype.then()、Promise.prototype.catch())

Proimse.prototype.then()

Promise.prototype.catch()

三、json的使用(需要先了解)

四、ajax的基础使用

1.基本流程

2.基本使用

3.用promise封装


一、定义

推荐整理分享ES6中 Promise 概念、基本用法和封装ajax(json数据使用)(es6 promise是什么),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:promise es6的作用,promise es6的作用,es6的promise有几种状态,es6promise用法例子,es6 promise是什么,es6的promise的用法,es6的promise的用法,es6的promise有几种状态,内容如对您有帮助,希望把文章链接给更多的朋友!

Promise是异步编程的一种解决方案,可以替代传统的解决方案--回调函数和事件。ES6统一了用法,并原生提供了Promise对象。作为对象,Promise有一下两个特点:

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

Promise对象代表一个异步操作,有三种状态:pending(进行中)、fulfilled(已成功)和rejected(已失败),一旦发生改变就只有一种状态:Pending -> Fulfilled  Pending -> Rejected。只有异步操作的结果,可以决定当前是哪一种状态,任何其他操作都无法改变这个状态。这也是Promise这个名字的由来,它的英语意思就是“承诺”,表示其他手段无法改变。

2.一旦状态改变了就不会在变,也就是说任何时候Promise都只有一种状态。

Promise对象的状态改变,只有两种可能:从pending变为fulfilled和从pending变为rejected。只要这两种情况发生,状态就凝固了,不会再变了,会一直保持这个结果,这时就称为 resolved(已定型)。

二、基础用法(Proimse.prototype.then()、Promise.prototype.catch())ES6中 Promise 概念、基本用法和封装ajax(json数据使用)(es6 promise是什么)

Promise 通过new关键词 回调函数有两个形参 第一个:resolve(成功) reject(失败的方法)resolve reject这两个可以改变Promise实例的状态

Proimse.prototype.then()

它的作用是为 Promise 实例添加状态改变时的回调函数。补充可以链式。

Promise.prototype.catch()

用于指定发生错误时的回调函数。

//Promise 通过new关键词 回调函数有两个形参 第一个:resolve(成功) reject(失败的方法)//resolve reject这两个可以改变Promise实例的状态const MyPormise = new Promise((resolve,reject)=>{let flag = true;if(flag){//成功的状态resolve("成功的值");}else{//失败状态reject("失败的值");}});//获取 Promise的值,有两个参数,第一个参数:回调函数显示成功的状态,第二个是显示失败的状态MyPormise.then( //Proimse.prototype.then()resolve=>console.log(resolve),reject=>console.log(reject))//MyPormise.catch( //Promise.prototype.catch()//reject=>console.log(reject)//) 三、json的使用(需要先了解)let Person = '{"realname":"张三","age":19}';//对象的json数据格式console.log(JSON.parse(Person));let persons = '["张三","李四"]' //数组的json数据格式console.log(JSON.parse(persons));四、ajax的基础使用1.基本流程

用get打开请求地址

发送请求send()

监听状态的变化,从而获取数据

2.基本使用const ajax = new XMLHttpRequest();// 1.用get打开请求地址ajax.open("GET","http://127.0.0.1:8848/web2209/ES6/test.json");// 2.发送请求ajax.send();//3.监听状态的变化,从而获取数据ajax.onreadystatechange = ()=>{if(ajax.readyState == 4){ //xml的状态if(ajax.status==200){//代表成功const data = JSON.parse(ajax.response);console.log(data);}else{console.log("请求失败");}}}3.用promise封装

封装函数可以方便下一次的调用

function sendajax(url){return new Promise((resolve,reject)=>{const Obj = new XMLHttpRequest();Obj.open("GET",url);Obj.send();Obj.onreadystatechange = ()=>{if(Obj.readyState==4){if(Obj.status==200){//http状态码const data = JSON.parse(Obj.response);resolve(data);}else{reject("数据请求失败...");}}}})}const MyPromise = sendajax("http://127.0.0.1:8848/web2209/ES6/test.json");MyPromise.then((resolve)=>{console.log(resolve);})
本文链接地址:https://www.jiuchutong.com/zhishi/300363.html 转载请保留说明!

上一篇:html多个好看的背景动态效果(附源码)(html多页面)

下一篇:这几个SQL语法的坑,你踩过吗(这几个sql语法的区别)

  • 个人所得税计算器
  • 银行预留印鉴是公章还是财务章
  • 其他综合收益属于损益类科目吗
  • 劳务发票可以抵扣多少
  • 个人所得税申报密码如何设置
  • 一般纳税人收入会计分录
  • 发票上的专用章没盖清楚,可以在票面其他空白处补盖吗
  • 中小企业现金流量表
  • 个体工商户化妆品经营范围
  • 营改增后哪些费用可以抵扣
  • 制造企业售后服务方案
  • 天猫企业支付宝怎么提现
  • 劳务税在地税局开还是国税局
  • 增值税发票丢失可以用复印件入账么
  • 关于增值税若干问题的探讨
  • 一般纳税人的资质在哪里打印
  • 新成立公司必须报税么
  • 降温费和取暖费标准
  • 进口货物的关税税率
  • 给员工发放奖励计入
  • 制造业销售费用率多少合适
  • 政府无偿给企业划拨土地是否需摊销
  • 笔记本windows10截屏
  • 公司自用产品 抵税吗?
  • 调整上年度多计提的附加税
  • 参保各险种人数统计
  • 研究院经营范围怎么写
  • 设备租赁费属于劳务吗
  • php curl设置cookie
  • 永续债进什么科目
  • yolov3怎么用
  • 调戏chatGPT(二)下围棋
  • ps橡皮擦不是圆圈了
  • 权益法转成本法非同一控制下为什么不公允
  • 非金融企业之间借款
  • 差旅费补贴要交个人所得税文件
  • 土地增值税预征税率一览表
  • mongodb数据库基本操作
  • 预付账款的会计编码是多少?
  • 企业代收水电费算不算收入
  • 公司小规模纳税人转为一般纳税人,需要签补充协议吗
  • 费用报销单的经办人是什么意思
  • sql server 2008打开界面
  • db2 -952
  • sql 分组排名
  • 员工福利开的专票怎么做分录
  • 员工加班餐费算什么费用
  • 研究费用记入什么费用
  • 过路费发票抵扣政策
  • 办理食品经营许可证需要什么条件
  • 公司买车赠送给个人,怎么交税
  • 取得税控服务费会计分录
  • 其他应付款跨年了
  • 固定资产需要具备的条件
  • 租房发票如何做分录
  • 期间费用是啥
  • sql语言包括哪三种类型
  • 微软安全公告
  • win7系统怎么对外发送wifi信号
  • centos运行文件
  • ghost安装器怎么用
  • tr linux 命令
  • hpz12进程
  • imessage如何群发
  • win7系统在那个文件夹
  • windows8图片
  • Win7系统打开D盘文件后怎么没有后退箭头
  • linux使用shell脚本创建文件
  • OpenGL Tips: 在Visual C++中调用FreeGLUT
  • css使用教程
  • jquery中的siblings方法
  • android 图片滚动
  • 印花税没有做税种认定怎么办
  • 税务 违法税收
  • 自然人扣缴客户端重新安装后信息怎么同步
  • 南通国家税务局
  • 什么是契税发票?
  • 福建电子税务局社保缴费操作
  • 发票清单盖章样本图片
  • 上海疫情租房金额怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设