目前比较流行的异步解决方案,本质上是一个构造函数ajax
promise有三种状态,初始的状态都是pedding,包括成功的状态失败的状态还有等待的状态promise
咱们来经过一个例子来讲明一下异步调用的问题异步
let url1 = 'http://xxx.xxx.1'; $.ajax({ url:url1, error:function (error) {}, success:function (data1) { console.log(data1); } });
那当咱们发出多个请求的时候就只能以嵌套的方式来解决函数
let url1 = 'http://xxx.xxx.1'; let url2 = 'http://xxx.xxx.2'; let url3 = 'http://xxx.xxx.3'; $.ajax({ url:url1, error:function (error) {}, success:function (data1) { console.log(data1); $.ajax({ url:url2, data:data1, error:function (error) {}, success:function (data2) { console.log(data2); $.ajax({ url:url3, data, error:function (error) {}, success:function (data3) { console.log(data3); } }); } }); } });
Promise 是一个构造函数,使用 new 操做符返回一个 promise 对象url
构造函数接收一个 excutor 函数做为参数code
excutor 函数有两个函数类型的参数 resolve 和 reject对象