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

  • 红米note8pro的nfc在哪(红米note8pro的nfc功能在哪里打开)

    红米note8pro的nfc在哪(红米note8pro的nfc功能在哪里打开)

  • 苹果a13有哪些机型(苹果a13有哪些机型处理器有哪几款手机)

    苹果a13有哪些机型(苹果a13有哪些机型处理器有哪几款手机)

  • 骁龙665日常够用吗(骁龙665用在哪些手机)

    骁龙665日常够用吗(骁龙665用在哪些手机)

  • Word文档怎么插照片(word文档怎么插视频)

    Word文档怎么插照片(word文档怎么插视频)

  • ppt怎么放视频进去

    ppt怎么放视频进去

  • 荣耀hry-al00a手机是什么型号(华为荣耀hry-al00a)

    荣耀hry-al00a手机是什么型号(华为荣耀hry-al00a)

  • 华为p30美颜功能怎么设置(华为p30美颜设置)

    华为p30美颜功能怎么设置(华为p30美颜设置)

  • 电磁波辐射屏蔽方法(电磁波辐射屏蔽帽)

    电磁波辐射屏蔽方法(电磁波辐射屏蔽帽)

  • 天猫精灵有没有音频输出(天猫精灵有没有红外遥控功能)

    天猫精灵有没有音频输出(天猫精灵有没有红外遥控功能)

  • 手机格式化还有痕迹吗(手机格式化还有办法恢复数据吗)

    手机格式化还有痕迹吗(手机格式化还有办法恢复数据吗)

  • 电脑搜索文件为什么搜索不出来(电脑搜索文件为什么搜索不出来win10)

    电脑搜索文件为什么搜索不出来(电脑搜索文件为什么搜索不出来win10)

  • 滴滴账号正常听不到单(滴滴为什么老是听单异常)

    滴滴账号正常听不到单(滴滴为什么老是听单异常)

  • 电子邮件应用程序实现SMTP的主要目的是(电子邮件应用程序在向邮件服务器发送邮件时使用)

    电子邮件应用程序实现SMTP的主要目的是(电子邮件应用程序在向邮件服务器发送邮件时使用)

  • 空气净化器能当加湿器用吗(空气净化器能当电风扇吗)

    空气净化器能当加湿器用吗(空气净化器能当电风扇吗)

  • 左连接和右连接的区别(左连接和右连接的分别解决什么问题)

    左连接和右连接的区别(左连接和右连接的分别解决什么问题)

  • 手机里安卓文件可以删除吗(手机里安卓文件哪些是可以删除的)

    手机里安卓文件可以删除吗(手机里安卓文件哪些是可以删除的)

  • 实况模式怎么打开(实况模式拍照技巧)

    实况模式怎么打开(实况模式拍照技巧)

  • 账期保障15天怎么取消(账期保障15天什么意思)

    账期保障15天怎么取消(账期保障15天什么意思)

  • rx580配什么cpu(rx580配什么cpu性价比高)

    rx580配什么cpu(rx580配什么cpu性价比高)

  • 手机线性马达有什么用(手机线性马达有什么区别)

    手机线性马达有什么用(手机线性马达有什么区别)

  • beats是苹果的吗(beats算苹果吗)

    beats是苹果的吗(beats算苹果吗)

  • 来电灯光闪怎么设置(来电灯光闪怎么回事)

    来电灯光闪怎么设置(来电灯光闪怎么回事)

  • 炫龙DD3笔记本怎么安装win7系统 利用U盘安装win7图文教程(炫龙dd3笔记本怎么样)

    炫龙DD3笔记本怎么安装win7系统 利用U盘安装win7图文教程(炫龙dd3笔记本怎么样)

  • 个人以房产投资企业需要过户吗
  • 定期定额征收如何办理税费认定
  • 税控服务费怎么记账
  • 委托付款税务认可吗
  • 企业的技术转让费
  • 进项税转出申报表能填负数吗
  • 收购发票怎么做凭证
  • 工资一直挂账未发可以吗
  • 结转损益后损益类科目为0吗
  • 企业员工应付未付的工资该如何写其会计分录?
  • 固定资产常用计算公式
  • 所有的进项税都在借方吗
  • 银票贴现需要银行授信吗
  • 预缴企业所得税是含税数还是不含税
  • 钢板租赁费用
  • 生产企业出口发票数量开错有什么影响
  • 补交的城建税怎么账务处理
  • 支票可以自己给自己开吗
  • 出租柜台收取的服务费
  • 收到财政厅的补助怎么办
  • 小规模纳税人无票收入免税吗
  • 支付中间业务收入怎么算
  • 罚款收入营业外收入还是其他应收款
  • gnaupdaemon.exe是什么
  • php数据结构
  • 领取养老金后每年会增加多少
  • php splqueue
  • 若依框架和jeesite
  • php smtp类
  • 投资企业撤回或减少投资企业所得税
  • 水獭冬眠吗?
  • 消费积分如何做账
  • 一次性伤残就业补助金
  • java枚举写法
  • 企业亏损企业汇算清缴怎么处理
  • 利润与所有者权益的区别
  • 转增资本属于什么会计科目
  • javascript 模块
  • c语言怎么给函数传递数组
  • 十年磨一剑的下一句幽默
  • 前端必学
  • python分割语句
  • 不动产简易征收增值税发票 可以抵扣
  • 建筑业成本需要摊销吗
  • 开负数发票的规定是有?
  • 跨年认证原材料是什么
  • 税务登记是需要原件还是复印件
  • 公司为非本单位缴纳社保
  • 资产负债表编制
  • 利息收入是一级科目还是
  • 长期待摊费用科目怎么使用
  • 押金退还需要多久
  • 净资产利润率的公式是什么
  • 出口免税项目
  • 发票抵扣联要放在凭证里面吗
  • 福利费的范畴
  • 存货科目包括哪几类
  • win7自带xp虚拟机怎么安装驱动
  • 苹果mac浏览器
  • linux那些事儿
  • win10系统设备管理器没有蓝牙
  • 电脑系统xp怎么样
  • win10 edge浏览器设置信任站点
  • win7系统加内存条怎么设置
  • win7怎么修改开始菜单样式
  • Win7系统怎么打开设置
  • windows8应用商店在哪
  • linux查看nginx配置文件
  • cocos2dx-js
  • cocos2dx 2.2.2
  • renderjs echarts
  • 绝对给力的超经典
  • unity获取物体的位置
  • angular创建service
  • 深入理解计算机系统 电子书
  • jquery中选择器有哪些
  • 动态表单的设计与实现
  • 江西电子税局
  • 重庆电子税务局网页版登录
  • 买房送地下室土地可以吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设