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

  • 荣耀70pro+怎么换铃声(荣耀70pro怎么换主题)

    荣耀70pro+怎么换铃声(荣耀70pro怎么换主题)

  • apple watch键盘在哪里(iwatch键盘在哪里)

    apple watch键盘在哪里(iwatch键盘在哪里)

  • 苹果13promax怎么取消自动续费(苹果13promax怎么强制重启)

    苹果13promax怎么取消自动续费(苹果13promax怎么强制重启)

  • 共享相簿 别人可以看到我的相册吗(共享相簿别人能看见我里面的照片吗)

    共享相簿 别人可以看到我的相册吗(共享相簿别人能看见我里面的照片吗)

  • 主机和显示器怎么连接(主机和显示器怎么接线)

    主机和显示器怎么连接(主机和显示器怎么接线)

  • 抖音该应用未获得微信登录的权限(抖音该应用未获得qq权限怎么办)

    抖音该应用未获得微信登录的权限(抖音该应用未获得qq权限怎么办)

  • qq哪些挂件是免费的(qq有哪些挂件是免费的)

    qq哪些挂件是免费的(qq有哪些挂件是免费的)

  • 苹果电脑加装固态硬盘(苹果电脑加装固态教程)

    苹果电脑加装固态硬盘(苹果电脑加装固态教程)

  • 手机连不上无线但电脑行(手机连不上无线网电脑能连上)

    手机连不上无线但电脑行(手机连不上无线网电脑能连上)

  • 华为p40pro预计发售时间(华为p40pro哪天发布)

    华为p40pro预计发售时间(华为p40pro哪天发布)

  • 抖音什么时候发作品容易上热门(抖音什么时候发作品流量最多)

    抖音什么时候发作品容易上热门(抖音什么时候发作品流量最多)

  • mqa62ch/a是什么版本(mqa62ch/a是国行吗)

    mqa62ch/a是什么版本(mqa62ch/a是国行吗)

  • mate30nfc在哪(华为手机mate30nfc功能怎么用)

    mate30nfc在哪(华为手机mate30nfc功能怎么用)

  • excel2010工作薄扩展名(excel2010工作薄文件的默认扩展名为( ))

    excel2010工作薄扩展名(excel2010工作薄文件的默认扩展名为( ))

  • 淘宝会员账号是什么(淘宝会员账号是哪个)

    淘宝会员账号是什么(淘宝会员账号是哪个)

  • ipad笔有什么用(ipad笔有什么功能)

    ipad笔有什么用(ipad笔有什么功能)

  • 苹果11pro max怎么批量删除联系人(苹果11promax怎么开热点)

    苹果11pro max怎么批量删除联系人(苹果11promax怎么开热点)

  • 什么叫企业上云(什么叫企业上云?为什么财务软件适合上云?)

    什么叫企业上云(什么叫企业上云?为什么财务软件适合上云?)

  • 联华充值卡100怎么用(联华充值卡回收价格)

    联华充值卡100怎么用(联华充值卡回收价格)

  • 去哪儿网优惠券如何取消(去哪儿网优惠券回收)

    去哪儿网优惠券如何取消(去哪儿网优惠券回收)

  • huaweip30的cpu型号是什么(华为p三零什么处理器)

    huaweip30的cpu型号是什么(华为p三零什么处理器)

  • 快手怎么找以前的评论(快手怎么找以前买过的东西)

    快手怎么找以前的评论(快手怎么找以前买过的东西)

  • 哈罗单车怎么关锁怎么结束行程(哈罗单车怎么关闭自动续费服务功能)

    哈罗单车怎么关锁怎么结束行程(哈罗单车怎么关闭自动续费服务功能)

  • 小米8后盖怎么拆(小米8后盖怎么装回去)

    小米8后盖怎么拆(小米8后盖怎么装回去)

  • 暂时进出境货物和暂准进出境货物
  • 材料用于非应税项目
  • 未认证发票有时间限制吗
  • 存货报废进项是否要转出
  • 税务局可以委托公司代征税,你觉得可能吗?
  • 公司支付代账费怎么入账
  • 无形资产的累计摊销是什么意思
  • 应付股利科目设置
  • 建设工程项目融资
  • 投资收益账户月末结转余额吗?
  • 药店的成本费用有哪些
  • 汽车违章罚款在哪里缴纳
  • 公会经费开具的法律依据
  • 河道维护费所有权归属
  • 发票的金额可以答应客户多开
  • 如何区分餐费发票和停车费发票?
  • 期货盈利需要交什么税
  • 房地产企业预缴增值税及附加税
  • 外资企业投资国内企业程序
  • 企业购入机器设备供方登记
  • 无法支付的其他账户
  • 预付款和现金支付的区别
  • 生产的废材料处理如何记账是否缴税?
  • 银行借款利息支出可以税前扣除吗
  • 建筑安装服务费可以抵扣进项税吗
  • 固定资产弃置费怎么算
  • 主营业务收入多栏式怎么填
  • 事业单位收到租金收入
  • 最新cpu天梯表
  • 收到对方公司开出发票如何做账
  • 递延性负债
  • win10任务栏搜索如何关闭
  • openeuler安装gnome
  • 房屋租赁会同
  • dghm.exe是什么程序
  • win7旗舰版叫啥
  • thinkphp隐藏index.php
  • php怎么读取txt
  • linux杀死程序
  • fio命令详解
  • 所得税减免与纳税的区别
  • 外购应税消费品的纳税人是谁
  • 公司欠款 法人
  • 出纳报销时应注意什么
  • 织梦网站老是被挂马
  • 企业出口证明
  • 商业汇票贴现时间轴
  • mysql中游标的作用
  • 专项资金支出流程
  • mongodb mysql配合使用
  • 小企业的固定资产的折旧方法可以根据需要
  • 个体户生产经营所得
  • 委托代销安排的迹象有哪些
  • 公司水电费分摊怎么算
  • 财务费用减少记借方还是贷方
  • 公司对公账户没钱了辞退员工
  • 预付下个月租金分录
  • 补充养老保险和年金
  • 预交了增值税款可以退吗
  • 一般纳税人企业所得税政策最新2023
  • 发票分割单使用范围
  • 增值税其他收益包括哪些
  • 本年利润为什么是负数
  • 小规模发票跨月冲红税款可以退回吗
  • 电脑svchost占用cpu很大
  • win10打不出字解决办法
  • 如何调整windows桌面图标大小
  • node linux安装
  • Time、Set、Smartdrv命令的使用方法
  • dos命令怎么写
  • nodejs抓取网页内容
  • js实现css样式
  • 基于javascript的毕业设计
  • javascript零基础
  • 文件管理android访问限制
  • python3中raw_input的用法
  • 企业个税申报系统密码忘记了在哪能找回呢?
  • 房地产企业税种认定标准
  • 个人能拒绝公司上市吗
  • 双方交换住房可以吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设