自学内容网 自学内容网

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


原文地址:https://blog.csdn.net/2301_81449444/article/details/142935563

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!