ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## **回调函数** 回调函数就是一个**通过函数指针调用的函数,用以处理异步参数请求,把函数内部的值返回到函数外部**。它剥夺了函数return的能力。 如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数。 ### **回调地狱** 回调函数是异步的,每一层的回调函数都需要依赖上一层的回调执行完,所以形成了层层嵌套的关系最终形成回调地狱。 ~~~ <script> function getData(url){ const promise = new Promise((resolve,reject)=>{ $.ajax({ url, dataType:"jsonp", success:res=>{ resolve(res) }, error:err=>{ reject(err); } }) }) return promise; } getData("https://api.douban.com/v2/book/search?q=javascript&count=1").then(res=>{ let id = res.books[0].id; return getData(`https://douban.uieee.com/v2/book/${id}`) }).then(res=>{ console.log(res); }) </script> ~~~