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