es6的promise

什么是Promise

在学Ajax的时候用到了回调函数,所以提到了Promise

我认为它就是可以让回调函数看起来更加简洁

Promise 是异步编程的一种解决方案,比传统的解决方案——回调函数和事件——更合理和更强大。
所谓Promise,简单说就是一个容器,里面保存着(通常是一个异步操作)的结果。
只有异步操作的结果,可以决定当前是哪一种状态
有三种状态:
pending(进行中)
fulfilled(已成功)
rejected(失败)

这有一个关于Ajax的代码片段,关于回调函数

t.onblur = function(){
       let pp = new Promise(function(resolve,reject){
           let ajax = new XMLHttpRequest;
           ajax.open('get','/sleep?user='+t.value,true);
           ajax.send();
           ajax.onload = function(){
               resolve(ajax.responseText);
           }
       });
       pp.then(function(res){   //这样回调看起来好看一点
           console.log(res);   //再执行这个
       }).then(function(){
           alert(1);          //最后是这个
       });
       alert(2);    //先弹这个

暂时就这么多了 以后再补充