ES6——Promise
异步和同步 异步,操作之间没有关系,同时执行多个操作, 代码复杂 同步,同时只能做一件事,代码简单 Promise 对象 用同步的方式来书写异步代码 Promise 让异步操作写起来,像在写同步操作的流程,不必一层层地嵌套回调函数 改善了可读性,对于多层嵌套的回调函数很方便 充当异步操作与回调函数之间的中介,使得异步操作具备同步操作的接口 Promise 也是一个构造函数 接受一个回调函数f1作为参数,f1里面是异步操作的代码 返回的p1就是一个 Promise 实例 所有异步任务都返回一个 Promise 实例 Promise 实例有一个then方法,用来指定下一步的回调函数 let p1 = new Promise(function(resolve, reject){ // 异步代码 resolve 成功了 reject 失败了 // $.ajax() 执行异步 AJAX 请求 $.ajax({ url: '10-arr.txt', //规定发送请求的 URL。默认是当前页面。 dataType:'json',//预期的服务器响应的数据类型。 success(arr){ resolve(arr); }, error(err){ reject(err); } }) }); p1.then(function(arr){ console.log('成功了'+arr); }