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

  • iphone游戏勿扰模式怎么设置(ios游戏勿扰模式怎么开)

    iphone游戏勿扰模式怎么设置(ios游戏勿扰模式怎么开)

  • 网站推广的常用办法(网站推广的方法有哪几种)

    网站推广的常用办法(网站推广的方法有哪几种)

  • iphone11边框掉漆能补吗(苹果11边框掉漆修复要多少钱)

    iphone11边框掉漆能补吗(苹果11边框掉漆修复要多少钱)

  • 不要挂机正在通话中什么意思

    不要挂机正在通话中什么意思

  • oppor11s什么时候上市(oppor11s什么时候上市的,手机卖多少钱)

    oppor11s什么时候上市(oppor11s什么时候上市的,手机卖多少钱)

  • 苹果手机加入黑名单别人打电话会知道吗(苹果手机加入黑名单后怎么恢复)

    苹果手机加入黑名单别人打电话会知道吗(苹果手机加入黑名单后怎么恢复)

  • iphone11有光学防抖吗(iPhone11有光学防抖吗?)

    iphone11有光学防抖吗(iPhone11有光学防抖吗?)

  • 纯流量卡需要注销吗(纯流量卡需要注销吗已实名制怎么办)

    纯流量卡需要注销吗(纯流量卡需要注销吗已实名制怎么办)

  • iphone11长焦镜头有什么用(苹果11长焦镜头是什么)

    iphone11长焦镜头有什么用(苹果11长焦镜头是什么)

  • 华为畅连通话支持机型(华为畅连通话支持哪些手机)

    华为畅连通话支持机型(华为畅连通话支持哪些手机)

  • 被对方拉黑了手机号码信息还可以发出去吗(被对方拉黑了手机号还能收到短信和彩信不呢)

    被对方拉黑了手机号码信息还可以发出去吗(被对方拉黑了手机号还能收到短信和彩信不呢)

  • macbookpro18款 19款区别(18款apple macbook pro)

    macbookpro18款 19款区别(18款apple macbook pro)

  • 手机膜蓝光和高清有什么区别(手机膜蓝光和高清哪个好)

    手机膜蓝光和高清有什么区别(手机膜蓝光和高清哪个好)

  • qq好友被对方删除 自己怎么知道(qq好友被对方删除 自己怎么恢复)

    qq好友被对方删除 自己怎么知道(qq好友被对方删除 自己怎么恢复)

  • word文档怎么删除一页(word文档怎么删除空白页)

    word文档怎么删除一页(word文档怎么删除空白页)

  • 网络位置类型怎么设置(网络位置类型怎么设置为家庭)

    网络位置类型怎么设置(网络位置类型怎么设置为家庭)

  • 滴滴顺风车怎么收费(滴滴顺风车怎么开发票)

    滴滴顺风车怎么收费(滴滴顺风车怎么开发票)

  • iqooneo2有nfc吗(iqoonew有nfc吗)

    iqooneo2有nfc吗(iqoonew有nfc吗)

  • 在微机中1gb的准确值等于(在微机中,1gb的准确值等于____)

    在微机中1gb的准确值等于(在微机中,1gb的准确值等于____)

  • 144hz和240hz区别大吗(144与240hz区别)

    144hz和240hz区别大吗(144与240hz区别)

  • 抖音有黄点是有人访问主页吗(抖音有黄点是有流量吗)

    抖音有黄点是有人访问主页吗(抖音有黄点是有流量吗)

  • qq拉黑的人在哪里查看(qq拉黑的人在哪里拉出来)

    qq拉黑的人在哪里查看(qq拉黑的人在哪里拉出来)

  • 企业所得税年报补报
  • 贷款损失税前扣除
  • 小规模纳税人已过开票截止日期禁止开票怎么办
  • 差旅费抵扣进项税政策201939号文件
  • 金蝶软件中怎么增加固定资产
  • 融资租赁税率是什么意思
  • 供热管道属于什么经营范围内
  • 预收账款借方和贷方表示什么
  • 注册公司工贸和商贸哪个更好一些
  • 私募合伙企业收到投资款后退回,支付利息的会计处理
  • 收到捐赠货物的会计分录怎么写
  • 小规模公司可以贷款吗
  • 小规模企业营业税
  • 税务局退税收入多久到账
  • 公司有出账没有进账怎么办
  • 专票住宿费认证怎么操作
  • 土地增值税哪些可以抵扣
  • 外贸企业内销与外销对比
  • 税控设备 抵减
  • 会务费如何入账
  • 如何查询公司有没有报个税
  • PHP:xml_set_character_data_handler()的用法_XML解析器函数
  • 更新出现网络异常
  • mysqli php
  • QQPCTray.exe是什么进程 QQPCTray.exe文件介绍
  • PHP:mb_list_encodings()的用法_mbstring函数
  • 购买生产用品计入什么科目
  • 最薄的电视机是多厚
  • vi应用项目
  • avoid什么用法
  • 社保申报已扣款还能作废吗
  • 圣米歇尔山法语介
  • ubuntu系统删除
  • 企业购进固定资产,在安装完工交付使用时
  • 现金盘存的具体方法
  • js相关知识
  • 计提的坏账准备计入什么科目
  • 待报解预算收入怎么做账
  • 简易计税开票税率
  • 担保公司的风险准备金在报表中如何反应
  • 安全宣传标牌
  • 小规模公司的做账要求
  • sqlServer查询当前ip地址
  • MySQL中create table as 与like的区别分析
  • 预开发票后涨价如何进行账务处理?
  • 培训费 会议费
  • 基本户变更经营范围需要什么材料
  • 新政府会计制度下的基建会计
  • 借贷记账法的记账依据是什么
  • 销售软件产品
  • 注销的企业
  • 销项税和进项税的区别
  • 上年记错账了,本年如何调整
  • 投标保证金会计科目
  • 无成本票如何避税
  • 信息服务的最终目的是什么
  • 兼职工资怎么做账
  • 物流公司挂靠车辆如何做账?
  • 发票冲红给对方单位说明怎么写
  • kali linux 视频教程
  • win7系统开关机怎么没有声音
  • win8电脑设置
  • 会声会影win7怎么兼容
  • win1020h2正式版
  • xp系统升级成win7还会卡吗
  • win10系统更新出错怎么办
  • cocos 源码
  • android opengl绘图
  • xcopy /i
  • 电脑启动项清理
  • angular.js
  • md5加密python
  • linux pythonide
  • js 操作xml
  • express 前后端分离
  • javascript获取复选框的值
  • 挂车买保险是怎么买的
  • 吉林省地税局电话号码
  • 各种税费申报日期
  • 龙岗区龙岗税务局地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设