关于 Promise 的理解
- 两层概念,Prmoise A+ 和 ES6 Promise。
- 有联系,也有区别。
Prmoise A+(社区规范),早于 ES6 的,它的出现是为了解决回调地狱以及异步实现不统一的问题,在这套规范里,它规定什么叫 Promise。Promise 就是一个带有then方法的东西,可能是对象也可能是函数。
{
then(...){}
}
function A(){}
A.then = function(...){}
Promise A+ 规范: 只要你是一个 Promise ,你们之间就可以互操作。
ES6 的构造函数 Promise,可以通过 new Promise(),称之为Promise A+ 规范的实现。
var p = new Promise();
p.then(xx,xx)
p.catch(yy)--->p.then(null,yy)也是通过then方法实现
p.finally
Promise.all静态方法
满足 Promise A+ 规范也可以使用 ES7 async await,并不是ES6 Promise独有的[https://promisesaplus.com](url)