定制小程序开发费用ES6中 Promise 概念、基本用法和封装ajax(json数据使用)

目录


一、定义

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())

Promise 通过new关键词 回调函数有两个形参 第一个:resolve(成功) reject(失败的方法)resolve reject这两个可以改变Promise实例的状态

Proimse.prototype.then()

它的作用是为 Promise 实例添加状态改变时的回调函数。补充可以链式。

Promise.prototype.catch()

用于指定发生错误时的回调函数。

  1. //Promise 通过new关键词 回调函数有两个形参 第一个:resolve(成功) reject(失败的方法)
  2. //resolve reject这两个可以改变Promise实例的状态
  3. const MyPormise = new Promise((resolve,reject)=>{
  4. let flag = true;
  5. if(flag){//成功的状态
  6. resolve("成功的值");
  7. }else{//失败状态
  8. reject("失败的值");
  9. }
  10. });
  11. //获取 Promise的值,有两个参数,第一个参数:回调函数显示成功的状态,第二个是显示失败的状态
  12. MyPormise.then( //Proimse.prototype.then()
  13. resolve=>console.log(resolve)
  14. ,reject=>console.log(reject)
  15. )
  16. //MyPormise.catch( //Promise.prototype.catch()
  17. // reject=>console.log(reject)
  18. // )

 三、json的使用(需要先了解)

  1. let Person = '{"realname":"张三","age":19}';//对象的json数据格式
  2. console.log(JSON.parse(Person));
  3. let persons = '["张三","李四"]' //数组的json数据格式
  4. console.log(JSON.parse(persons));

四、ajax的基础使用

1.基本流程

用get打开请求地址

发送请求send()

监听状态的变化,从而获取数据

2.基本使用

  1. const ajax = new XMLHttpRequest();
  2. // 1.用get打开请求地址
  3. ajax.open("GET","http://127.0.0.1:8848/web2209/ES6/test.json");
  4. // 2.发送请求
  5. ajax.send();
  6. //3.监听状态的变化,从而获取数据
  7. ajax.onreadystatechange = ()=>{
  8. if(ajax.readyState == 4){ //xml的状态
  9. if(ajax.status==200){//代表成功
  10. const data = JSON.parse(ajax.response);
  11. console.log(data);
  12. }else{
  13. console.log("请求失败");
  14. }
  15. }
  16. }

3.用promise封装

封装函数可以方便下一次的调用

  1. function sendajax(url){
  2. return new Promise((resolve,reject)=>{
  3. const Obj = new XMLHttpRequest();
  4. Obj.open("GET",url);
  5. Obj.send();
  6. Obj.onreadystatechange = ()=>{
  7. if(Obj.readyState==4){
  8. if(Obj.status==200){//http状态码
  9. const data = JSON.parse(Obj.response);
  10. resolve(data);
  11. }else{
  12. reject("数据请求失败...");
  13. }
  14. }
  15. }
  16. })
  17. }
  18. const MyPromise = sendajax("http://127.0.0.1:8848/web2209/ES6/test.json");
  19. MyPromise.then((resolve)=>{
  20. console.log(resolve);
  21. })

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发