Promise对象:代表了未来某个将要发生的事件(通常是一个异步操作)
好处:有了promise对象,可以将异步操作以同步的流程表达出来,避免了层层嵌套的回调函数(回调地狱)
1.promise原理
promise有两种状态resolve处理成功的情况reject处理失败的情况
const promise = new Promise((resolve, reject) => {resolve(2);reject(3);})promise.then(res => {console.log(res);}, err => {console.log(err);})
2.没有promise之前的处理
function http(url,callback) {$.ajax({url,dataType: "json",success(res) {callback(res);}})}http(url,res=>{console.log(res);})
3.使用promise
var promise = new Promise((resolve,reject)=>{$.ajax({url,dataType:"json",success(res){resolve(res);},error(err){reject(err);}})})promise.then(res=>{console.log(res);},err=>{console.log(err);})
