头部先引入JQ
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
Promise详情
一.Promise设计初衷
1.解决回调地狱
2.异步操作
$.get('url', function (data, static) {
console.log(data);
$.get('url', function (res) {
console.log(data.id);
console.log(res);
$.ajax({
url: '',
async: true,
type: 'get',
data: {},
success(res1) {
console.log(res);
console.log(res.id);
}
})
})
let pro = new Promise(function (resolve, reject) {
$.ajax({
url: 'url',
type: 'POST',
data: {
type: 'free',
pageNum: 1,
pageSize: 10
},
success: function (res) {
resolve(res)
},
error: function (err) {
reject(err)
}
})
pro.then(requestA)
.then(requestB)
.then(requestC)
.catch(requestError);
function requestA(res) {
console.log(res);
console.log('请求A成功');
return '请求B.下一个就是你了'
}
function requestB(res) {
console.log('上一步的结果:' + res);
console.log('请求B成功');
return '请求C,下一个就是你了'
}
function requestC(res) {
console.log('上一步焦点结果给: ' + res);
console.log('请求C成功');
}
function requestError(err) {
console.log(err);
console.log('请求失败');
}