<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
body {
font-family: "Microsoft YaHei", serif;
}
body, dl, dd, p, h1, h2, h3, h4, h5, h6 {
margin: 0;
}
ol, ul, li {
margin: 0;
padding: 0;
list-style: none;
}
img {
border: none
}
</style>
</head>
<body>
<div id="wrap"></div>
<script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
<script>
// promise解决了代码横向发展的问题
// 如果不断的调用一个ajax的结果(第二次请求需要第一次请求的结果,第三次请求需要第二次请求的结果)
// 这样会使得代码不断的横向发展
// 就像下边这样(可以不看)
// $.ajax({
// type:"GET",
// url:"https://api/wulv5.com/music/search",
// data : {keywords:"牵丝戏"},
// dataType:"json",
// success:function (msg) {
// console.log(msg);
// $.ajax({
// type:"GET",
// url:"https://api/wulv5.com/music/search",
// data : {keywords:"牵丝戏"},
// dataType:"json",
// success:function (msg) {
// console.log(msg);
// $.ajax({
// type:"GET",
// url:"https://api/wulv5.com/music/search",
// data : {keywords:"牵丝戏"},
// dataType:"json",
// success:function (msg) {
// console.log(msg);
// }
// })
// }
// })
// }
// })
// 所以引入了promise
// resolve/reject 都是函数
// pending 进行中
// resolve 成功
// reject 失败
new Promise((resolve, reject) => {
$.ajax({
type:"GET",
url:"https://api/wulv5.com/music/search",
data : {keywords:"牵丝戏"},
dataType:"json",
success:function (msg) {
console.log(msg);
resolve(msg)
}
});
}).then(msg=>{ //msg就是上次的结果可以直接使用
// 如果想要继续的使用.then就需要把这个请求返回值也变为一个promise对象。之后就可以继续使用了
return new Promise((resolve, reject) => {
$.ajax({
type:"GET",
url:"https://api/wulv5.com/music/search",
data : {keywords:"牵丝戏"},
dataType:"json",
success:function (msg) {
console.log(msg);
}
})
})
},); //.catch() 可以在这里执行失败 reject
// 也可以在promise中建立第二个
// .then{
// ()=>{
// console.log(reslove);
// },
// ()=>{
// console.log(rehect);
// }
// }
</script>
</body>
</html>
Python3Turtle