问题:1不便于阅读 2 不便于异常处理,但凡一个出错整个线程都卡主
    在做http请求的时候,由于很多请求都是需要在上一个请求完成后再进行下一个请求,所以就会进行多层的回调函数的嵌套。

    1. <div id="app"></div>
    2. <h2>数据列表</h2>
    3. <p class="dp"></p>
    4. <audio src="" controls></audio>
    5. <script>
    6. var url = "http://192.168.4.18:3000/top/playlist/?cat=华语";
    7. $.ajax({
    8. method:"get",
    9. url,
    10. success:res=>{
    11. var {name,id}=res.playlists[0];
    12. $("#app").html(name);
    13. console.log(id);
    14. var listUrl = `http://192.168.4.18:3000/playList/detail?id=${id}`;
    15. console.log('listUrl: ', listUrl);
    16. $.ajax({
    17. method:"get",
    18. url:listUrl,
    19. success:res=>{
    20. var {name,id} = res.playlist.tracks[0]
    21. $(".dp").html(name)
    22. console.log(id)
    23. /* 3.根据id获取音乐播放的url链接 */
    24. var musicUrl = `http://192.168.4.18:3000/song/url?id=${id}`
    25. $.ajax({
    26. method:"get",
    27. url:musicUrl,
    28. success:res=>{
    29. let src = res.data[0].url;
    30. $("audio").attr("src",src);
    31. }
    32. })
    33. }
    34. })
    35. }
    36. })
    37. </script>