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