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

  • 什么才算是有价值的努力(什么是有价资产)

    什么才算是有价值的努力(什么是有价资产)

  • 抖音没有同款道具怎么办(抖音没有同款道具按钮)

    抖音没有同款道具怎么办(抖音没有同款道具按钮)

  • u盘显示fat32怎么修复

    u盘显示fat32怎么修复

  • 为什么搜抖音号搜不到人(为什么搜抖音号看不到作品)

    为什么搜抖音号搜不到人(为什么搜抖音号看不到作品)

  • word文档标准字体和字号(word文档标准字体)

    word文档标准字体和字号(word文档标准字体)

  • 荣耀lldal10是什么型号(荣耀dlial10是什么型号)

    荣耀lldal10是什么型号(荣耀dlial10是什么型号)

  • 运行内存和机身内存有什么区别(运行内存和机身储存是什么意思)

    运行内存和机身内存有什么区别(运行内存和机身储存是什么意思)

  • iphone充电口有液体(iPhone充电口有液体怎么办)

    iphone充电口有液体(iPhone充电口有液体怎么办)

  • pdkm00是什么手机型号(pdvm00是啥手机)

    pdkm00是什么手机型号(pdvm00是啥手机)

  • 抖音给别人点赞又取消别人知道吗(抖音给别人点赞怎么设置别人看不到)

    抖音给别人点赞又取消别人知道吗(抖音给别人点赞怎么设置别人看不到)

  • 天猫精灵可以远程控制吗(天猫精灵可以远程控制空调吗)

    天猫精灵可以远程控制吗(天猫精灵可以远程控制空调吗)

  • 苹果更新id设置啥意思(苹果更新id设置是怎么回事)

    苹果更新id设置啥意思(苹果更新id设置是怎么回事)

  • 华为无线耳机怎么开机(华为无线耳机怎么配对)

    华为无线耳机怎么开机(华为无线耳机怎么配对)

  • 电脑放久了开机没反应(电脑放久了开机屏幕不亮)

    电脑放久了开机没反应(电脑放久了开机屏幕不亮)

  • 电脑怎么下载excel表格软件(电脑怎么下载EXCL)

    电脑怎么下载excel表格软件(电脑怎么下载EXCL)

  • 19款macpro和18款的区别(19款macbookpro和18款区别)

    19款macpro和18款的区别(19款macbookpro和18款区别)

  • 电脑hz是什么意思(电脑hz高有什么好处)

    电脑hz是什么意思(电脑hz高有什么好处)

  • 华为nnbs是什么软件(华为nrc是什么意思)

    华为nnbs是什么软件(华为nrc是什么意思)

  • oppok1正常重启方法(oppo开机重启)

    oppok1正常重启方法(oppo开机重启)

  • 华为glk-al00是哪个型号(华为glk al00什么型号)

    华为glk-al00是哪个型号(华为glk al00什么型号)

  • wps怎么绘制表格线(wps怎么绘制表格然后打印)

    wps怎么绘制表格线(wps怎么绘制表格然后打印)

  • 微信怎么设置不显示微信号(微信怎么设置不看对方的朋友圈)

    微信怎么设置不显示微信号(微信怎么设置不看对方的朋友圈)

  • 苹果手机阴影墨水在哪(苹果手机阴影墨迹怎么调)

    苹果手机阴影墨水在哪(苹果手机阴影墨迹怎么调)

  • servlet是什么(servlet技术)

    servlet是什么(servlet技术)

  • 如何恢复充电宝容量(充电宝怎么恢复正常状态)

    如何恢复充电宝容量(充电宝怎么恢复正常状态)

  • Windows7系统如何查看硬件的基本配置(win7系统怎样)

    Windows7系统如何查看硬件的基本配置(win7系统怎样)

  • Vue2进阶笔记(vue2.)

    Vue2进阶笔记(vue2.)

  • 河北金税盘
  • 柴油车尾气处理液会计分录
  • 员工为公司垫付款项
  • 房产税相关问题
  • 农产品加工会计分录
  • 无需外汇局审批的账户
  • 贷款利息收入如何开票
  • 工商股权转让费用怎么算
  • 纳税申报表上的二维码有什么用?
  • 上季度弥补以前年度亏损与本季度亏损
  • 多发了工资怎么处理
  • 没经营的个体户营业执照怎么注销
  • 房屋过户收费标准
  • 购买法下的操纵手法有哪些
  • 办公用品开普票几个点
  • 暂估应付账款借方余额
  • 企业接受捐赠是营业收入吗
  • 利息收入属于现金流入吗
  • 工商年报中纳税总额包括工会经费吗
  • 公司补贴为什么要交税
  • 申报退税金额是0是怎么回事
  • 公司开设食堂需要哪些手续
  • 印花税扣款
  • 投资预算的编制方法
  • 差额征税的服务费怎么入账
  • 药店 医保收入占比
  • 路由器突然不能上网了显示红灯
  • 修理费应该计入什么费用
  • win11怎么用win10界面
  • win7旗舰版系统怎么样
  • mac10.10.5系统
  • 企业所得税汇算清缴调增的项目有哪些
  • macOS Big Sur 11.2 公测版 beta 1怎么更新?
  • 公积金贷款所需手续
  • map程序
  • 小规模纳税人销售自己使用过固定资产
  • ssms注释
  • php实现观察者模式
  • 损益类科目包括利润分配吗
  • 爬坑图片卡通
  • ajax调用php接口
  • 员工借款能直接从公司账上转么
  • react 组件化
  • js let用法
  • 提取企业所得税怎么做会计科目
  • 小企业库存商品会计分录
  • 补发去年工资会被扣税吗
  • 盈余公积转增实收资本会计科目
  • 投资收益会计科目账务处理
  • 什么是营业净利率计算公式
  • 新会计准则贷款计提贷款减值准备的比例
  • 买入返售金融资产属于金融资产吗
  • 红冲发票如何做账
  • 超过社保基数的工资怎么发放
  • 电影赠票怎么用
  • 购入软件的账务处理
  • 购入汽车当月需要计提折旧吗
  • 增值税抵扣比例是多少
  • 如何解绑企业微信绑定的邮箱
  • 利息收入的正确分录凭证怎么写
  • linux 设置文件系统
  • windows模拟
  • 内存不够用如何升级系统
  • task运行在哪个工作单元
  • 进程mmc.exe
  • win8命令提示符怎么运行命令
  • windows10预览版是什么
  • cocos2dx官方教程
  • 正则表达式语法 \d
  • js excel导入导出
  • express sendfile
  • shell中管道的作用
  • django 实例
  • 批处理模式的例子
  • Unity3D游戏开发标准教程
  • shell执行多个命令
  • js遍历foreach
  • js如何使用
  • 银行与企业之间的信用
  • 合伙企业可以融资吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设