🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
Promise对象:代表了未来某个将要发生的事件(通常是一个异步操作) 好处:有了promise对象,可以将[异步操作以同步的流程]()表达出来,避免了层层嵌套的回调函数(回调地狱) ### 1.没有promise之前的处理 ~~~ var url = "http://api.douban.com/v2/movie/in_theaters" function http(url,callback) { $.ajax({ url, dataType: "jsonp", success(res) { callback(res); } }) } http(url,res=>{ console.log(res); }) ~~~ ### 2.使用promise ~~~ var url = "http://api.douban.com/v2/movie/in_theatersfds" var promise = new Promise((resolve,reject)=>{ $.ajax({ url, dataType:"jsonp", success(res){ resolve(res); }, error(err){ reject(err); } }) }) promise.then(res=>{ console.log(res); },err=>{ console.log(err); }) ~~~