67. 请自行实现Promise

JavaScript Amazon Airbnb LinkedIn

中等难度  -通过 / -执行

Promise 在现在的web app开发中已经是无处不在来,很难想象很久以前我们是如何处理Callback Hell 的。

你能否实现一个类似Promise的MyPromise

至少需要满足以下要求

  1. 新建promise: new MyPromise((resolve, reject) => {})
  2. 链式调用 : MyPromise.prototype.then() then handlers 需要是异步调用
  3. rejection处理 MyPromise.prototype.catch()
  4. 静态方法: MyPromise.resolve()MyPromise.reject()

这是个略有挑战的问题,建议先仔细掌握Promise的方方面面。

始终思考更好的解决办法