当前位置: 首页 > news >正文

ES6新增promise(异步编程新解决方案)如何封装ajax?

1.什么是异步?


异步是指从程序在运行过程中可以先执行其他操作。


2.什么是promise?


Promise 是 ES6 引入的异步编程的新解决方案。语法上 Promise 是一个构造函数,用来封装异步 操作并可以获取其成功或失败的结果;

3.promise成功和失败的参数如何接收


1. Promise 构造函数: Promise (excutor) {};
2. Promise.prototype.then 方法;接收成功参数(then)
3. Promise.prototype.catch 方法;接收失败参数(catch)

4.Promise 封装 Ajax 请求:


使用原生进ajax封装:

// 请求地址:https://api.apiopen.top/getJoke const p = new Promise(function(resolve, reason) {// 原生请求 // 1、创建对象 const xhr = new XMLHttpRequest();// 2、初始化 xhr.open("GET", "https://api.apiopen.top/getJoke");// 3、发送 xhr.send(); // 4、绑定事件,处理响应结果 xhr.onreadystatechange = function() {// 判断状态 if (xhr.readyState == 4) {// 判断响应状态码 200-299 if (xhr.status >= 200 && xhr.status <= 299) {// 成功 resolve(xhr.response);} else {// 失败 reason(xhr.status);}}}});
p.then(function (value) { console.log(value.toString()); }, function (reason) { console.log(reason); // 读取失败 }) 

使用jQuery进行封装:

const p = new promise(function(resolve, reject) {$.ajax({type: ,url: ,datatype: ,async: ,headers: {},data: {},success: (res) => resolve(res),error: (err) => reject(err)})})


http://www.mrgr.cn/news/51097.html

相关文章:

  • Springboot开发——IDEA高版本中如何创建JDK8的项目
  • 2024年10月16日历史上的今天大事件早读
  • 嵌入式SoPC最全面试题及参考答案
  • 跨域问题和前端攻击
  • 《Windows PE》6.4.1 无 DLL远程注入
  • 网页前端开发之HTML入门
  • 大商创(移动端) -- day02
  • 【功能介绍】麒麟2403支持设置任务栏上的图标“从不合并”啦!
  • 上海亚商投顾:沪指险守3200 全市场下跌个股超4500只
  • 冷板凳30年,离职时75岁!看完老爷子的简历,我失眠了
  • 开通实时计算Flink版
  • 一款.NET开源的i茅台自动预约小助手
  • 【报错处理】MR/Spark 使用 BulkLoad 方式传输到 HBase 发生报错: NullPointerException
  • 高效的并行处理:使用 Python 的 `multiprocessing` 库管理进程
  • 高可用架构:负载均衡和集群管理
  • 关于分布式数据库需要了解的相关知识
  • 【Linux线程】Linux线程编程基础:概念、创建与管理
  • 变量与数据类型:程序的基本构建块!
  • 「从零开始的 Vue 3 系列」:第十四章——项目部署到服务器流程(简单版)
  • 《纳瓦尔宝典》