使用promise的时候会将函数的状态暂停/凝固
1.使用new 关键字实现promise
2.promise有两种状态resolve,reject
3.promise函数不会马上触发,要通过一个then函数去触发
4.then触发的是resolve的状态,catch触发失败的状态
- resolve —>成功
- reject —>失败
5.使用promise之后将http请求由纵向的变为横向的了
6.ajax就是一个promise
<script>/* 使用promise之后将http请求由纵向的变为横向的了 */http("top/playlist?cat=华语").then(res=>{let id = res.playlists[0].id;return id}).then(res=>{http(`playlist/detail?id=${res}`).then(res=>{let id = res.playlist.trackIds[0].id;return id}).then(res=>{http(`song/url?id=${res}`).then(res=>{console.log(res)})})})</script><script>function go(){return new Promise((resolve,reject)=>{resolve(1);reject(2)})}go().then(res=>{console.log(res)}).catch(err=>{console.log(err)})</script><script>function http(){return new Promise((resolve,reject)=>{$.ajax({url:"https://music.aityp.com/top/playlist?cat=华语",type:"get",success:res=>{resolve(res)},error:err=>{reject(err)}})})}http().then(res=>{console.log(res.playists)})</script>
