章节目录:
一、Promise基本概念
二、Promise使用
2.1 示例文件
user.json:
{
"id": 1, "name": "zhangsan", "password": "123456"
}
user_corse_1.json:
{
"id": 10, "name": "chinese"
}
corse_score_10.json:
{
"id": 100, "score": 90
}
2.2 句式
const Promiser = new Promise((resolve, reject) => {
// 执行异步操作
if (/* 异步操作成功 */) {
resolve(value);
// 调用 resolve,代表 Promise 将返回成功的结果
} else {
reject(error);
// 调用 reject,代表 Promise 会返回失败结果
}
});
2.3 代码示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Es6-Promise</title>
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
</head>
<body>
<script>
function get(url, data) {
return new Promise((resolve, reject) => {
$.ajax({
url: url,
data: data,
type: "GET",
success(result) {
resolve(result);
},
error(error) {
reject(error);
}
});
});
}
get("mock/user.json").then((result) => {
console.log(" 查询到用户信息: ", result);
return get(`mock/user_corse_${result.id}.json`);
}).then((result) => {
console.log(" 查询到课程信息: ", result);
return get(`mock/corse_score_${result.id}.json`);
}).then((result) => {
console.log(" 查询到分数信息: ", result);
}).catch((error) => {
console.log(" 异常捕获: ", error);
});
</script>
</body>
三、Promise总结
四、结束语