为什么使用Promise
背景-回调地狱
在工作当中我们往往会遇到多个请求依赖的问题,可能就会有如下的写法
1 | $.post("/data1", { data: "data1"}, function(data1) { |
这里只展示了三个请求间的互相依赖,如果业务复杂一些,需要有5,6个请求的话,代码看起来就有点恐怖了。。
Promise的出现正是为了解决这样的问题。
含义
Promise,就是一个对象,用来传递异步操作的消息,它代表了某个未来才会知道结果的事件(通常是一个异步操作),并且这个事件提供统一的API,可供进一步处理。
特点
对象的状态不受外界影响。内部有3中状态:Pending(进行中), Resolved(已完成), Rejected(已失败),只有异步操作的结果可以决定当前的状态
一旦状态改变就不会再变,任何时候都可以得到这个结果
1 | let promise = new Promise(function(resolve, reject){ |