NIUCLOUD是一款SaaS管理后台框架多应用插件+云编译。上千名开发者、服务商正在积极拥抱开发者生态。欢迎开发者们免费入驻。一起助力发展! 广告
回调函数就是一个**通过函数指针调用的函数,用以处理异步参数请求,把函数内部的值返回到函数外部**。它剥夺了函数return的能力。 如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。 ``` function http(success){ $.ajax({ url:"https://douban.uieee.com/v2/movie/in_theaters", dataType:"jsonp", success:res=>{ success(res) } }) }; http(res=>{ console.log(res) }) ``` ***** **回调地狱** 回调函数是异步的,每一层的回调函数都需要依赖上一层的回调执行完,所以形成了层层嵌套的关系最终形成回调地狱。 >[success] 你要根据这个接口中的id寻找另一个接口,那个接口才有详情页 以下是回调地狱理解版: ``` <div id="div"></div> <img src="" alt=""> <p id="p"></p> <script> $.ajax({ url: "http://192.168.22.2/movie/search?q=%E4%BD%A0%E7%9A%84%E5%90%8D%E5%AD%97&count=1", dataType: "jsonp", success: res => { let subjects = res.subjects[0]; let { title, images,id} = subjects; //解构 $("#div").html(title) $("img").attr("src", images.small) console.log(res); console.log(id); $.ajax({ url:`http://192.168.22.2/movie/${id}`, dataType:"jsonp", success:res => { console.log(res); let summary = res.summary; console.log(summary); $("#p").html(summary); } }) } }) </script> ```