位置: 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语法的区别)

  • 淘宝评论隐藏了怎么恢复(淘宝评论隐藏了还能再评价吗)

    淘宝评论隐藏了怎么恢复(淘宝评论隐藏了还能再评价吗)

  • 华为Nova5Pro有消息指示灯吗(华为nova5pro小技巧)

    华为Nova5Pro有消息指示灯吗(华为nova5pro小技巧)

  • 微信消息总是延迟几分钟(微信消息总是延迟提醒)

    微信消息总是延迟几分钟(微信消息总是延迟提醒)

  • 微信间歇性收不到信息(微信间歇性收不到消息)

    微信间歇性收不到信息(微信间歇性收不到消息)

  • iphone a1586是苹果几(a1586是苹果哪个型号)

    iphone a1586是苹果几(a1586是苹果哪个型号)

  • 被踢出群后如何再次进入(被踢出群后如何删除群qq)

    被踢出群后如何再次进入(被踢出群后如何删除群qq)

  • 6s有nfc功能吗(6s有nfc嘛)

    6s有nfc功能吗(6s有nfc嘛)

  • 人人视频会员可以多人同时用吗(人人视频会员可以看芒果吗)

    人人视频会员可以多人同时用吗(人人视频会员可以看芒果吗)

  • 设置打不开了怎么办(设置打不开怎么重装系统)

    设置打不开了怎么办(设置打不开怎么重装系统)

  • 手机qq邮箱怎么发视频(手机qq邮箱怎么获取授权码)

    手机qq邮箱怎么发视频(手机qq邮箱怎么获取授权码)

  • 抖音短视频下载失败是什么原因(抖音短视频下载安装最新版2020)

    抖音短视频下载失败是什么原因(抖音短视频下载安装最新版2020)

  • 笔记本格式化等于恢复出厂设置吗(笔记本格式化电脑)

    笔记本格式化等于恢复出厂设置吗(笔记本格式化电脑)

  • 流量语音共享是什么(语音流量共享套餐是什么意思)

    流量语音共享是什么(语音流量共享套餐是什么意思)

  • 分页符的四种类型(分页符的作用)

    分页符的四种类型(分页符的作用)

  • 微信为什么没有夜间模式(微信为什么没有提示音)

    微信为什么没有夜间模式(微信为什么没有提示音)

  • 华为手电筒快捷键(华为手电筒快捷设置)

    华为手电筒快捷键(华为手电筒快捷设置)

  • 荣耀和华为的区别(荣耀和华为的区别是什么?我来告诉你!)

    荣耀和华为的区别(荣耀和华为的区别是什么?我来告诉你!)

  • 魅族16T怎么开启应用分身(魅族16t怎么开启快充)

    魅族16T怎么开启应用分身(魅族16t怎么开启快充)

  • 手机qq怎样修改名片(手机qq怎样修改密码)

    手机qq怎样修改名片(手机qq怎样修改密码)

  • 无线路由器有辐射大吗(无线路由器有辐射危害吗)

    无线路由器有辐射大吗(无线路由器有辐射危害吗)

  • 6.53英寸屏幕长宽多少(6.5英寸屏幕多长)

    6.53英寸屏幕长宽多少(6.5英寸屏幕多长)

  • 淘宝直播浮现权限是什么意思(淘宝直播浮现权是什么意思)

    淘宝直播浮现权限是什么意思(淘宝直播浮现权是什么意思)

  • 希尔薇屏幕怎么缩小

    希尔薇屏幕怎么缩小

  • 苹果手机壳小米8能用吗(苹果手机壳小米可以用吗)

    苹果手机壳小米8能用吗(苹果手机壳小米可以用吗)

  • 小米怎么禁网页(小米 禁止网页跳转app设置)

    小米怎么禁网页(小米 禁止网页跳转app设置)

  • 美图秀秀怎么发表作品(美图秀秀怎么发布自己的作品)

    美图秀秀怎么发表作品(美图秀秀怎么发布自己的作品)

  • 探探真实头像认证失败(探探真实头像认证准吗)

    探探真实头像认证失败(探探真实头像认证准吗)

  • 隐藏在高草丛中的老虎,印度阿萨姆邦 (© Sandesh Kadur/Minden Pictures)(隐藏在草丛里)

    隐藏在高草丛中的老虎,印度阿萨姆邦 (© Sandesh Kadur/Minden Pictures)(隐藏在草丛里)

  • 达特穆尔国家公园的薄雾,英格兰德文郡 (© AWL Images/Danita Delimont)(达特穆尔动物园)

    达特穆尔国家公园的薄雾,英格兰德文郡 (© AWL Images/Danita Delimont)(达特穆尔动物园)

  • 独资企业赚的钱全是老板的吗
  • 跨年增值税发票怎么冲红
  • 单位内部食堂如何做账务处理
  • 对账结算流程
  • 职工食堂费用计入管理费用
  • 长期股权投资减值准备可以转回吗
  • 劳务费代扣代缴后还需要开发票吗
  • 收到某公司发票会计分录
  • 母公司派遣员工到子公司解散补偿金
  • 建安费增值税怎么算
  • 用现金缴纳海关增值税能否抵扣?
  • 企业如何做好税务管理工作
  • 支付董事会成员津贴计入什么科目
  • 不动产公告期
  • 初级备考心得总结
  • 已做了进项的发票金额错了怎么处理
  • 仓储费怎么账务处理
  • 营业执照原件丢失后果
  • 公司商品房出售流程
  • linux如何用root用户登录
  • 个税抵扣申报截止时间
  • 增值税专用发票丢了怎么补救
  • 为什么建筑企业简易计税可以扣分包款
  • js16.vip
  • 结转出租包装物因不能使用而报废的残料价值
  • 出国考察是什么意思
  • 简述php中常用魔术方法及其各自的作用
  • 增值税税率调整为13%的文件
  • yii框架的优点及原理
  • 史上无敌的超级兵王
  • 广东省工科赛智能配送
  • 会员信息查询系统
  • python中for循环的缩进规则
  • 机关事业单位以外包服务方式长期用工
  • 银行回单箱费会退回吗
  • 缴纳税款滞纳金怎么算
  • mysql5.7字符集
  • mongodb bi
  • 短期借款属于经营活动还是筹资活动
  • 建筑企业预缴的增值税怎么抵扣
  • mysql存储过程语句
  • 新会计准则计提减值准备
  • sqlserver存储过程加密
  • 写字楼租金
  • 税控系统技术维护费全额抵扣分录
  • 员工餐费报销分录怎么弄
  • 现在购入不动产怎么办
  • 应付帐款不用付了的分录怎么处理
  • 企业贷款业务
  • 外埠存款主要使用范围
  • 营业外收入的账户核算有哪些
  • 提供劳务方式是什么意思
  • 印花税为什么不用计提
  • 企业自建房屋建设方案
  • 2020年专项扣除怎么填
  • 增值税进项税额在借方还是贷方
  • 存货科目包括哪几类
  • sql怎么比较两个表字段的内容
  • 不固定参数的存储器
  • linux/tmp
  • 容器内存限制
  • cpqeadm.exe是什么进程 可以关闭吗 cpqeadm进程查询
  • Win7计算机管理里面没有本地用户和组
  • 禁止windows安装程序
  • win7系统无法进入登录界面
  • win7格式化怎么操作?
  • springmvc接收form表单
  • 批处理程序教程
  • batch批处理
  • android点击按钮弹出对话框
  • Ext JS 4官方文档之三 -- 类体系概述与实践
  • python字符串大全
  • unity5.4.0
  • JavaScript jquery及AJAX小结
  • 深入理解ffmpeg pdf
  • 函数 python
  • 国家税务局湖南省电子税务局app下载
  • 国家减免的增值税怎么做账
  • 重庆公交司机收入
  • 如何查询有没有交医保费用
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设