谈谈你对Promise理解

112 阅读1分钟

关于 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)

Screenshot 2023-07-14 at 14.14.03.png