美文网首页
关于promise的粗浅理解

关于promise的粗浅理解

作者: 404_accc | 来源:发表于2019-10-09 10:48 被阅读0次

定义

在JavaScript的世界中,所有代码都是单线程执行的。 由于这个“缺陷”,导致JavaScript的所有网络请求,事件,都是异步执行.

Promise 对象是一个代理对象(代理一个值),被代理的值在Promise对象创建时可能是未知的。它允许你为异步操作的成功和失败分别绑定相应的处理方法(handlers)。 这让异步方法可以像同步方法那样返回值,但并不是立即返回最终执行结果,而是一个能代表未来出现的结果的promise对象一个 Promise有以下几种状态: 

1. pending: 初始状态,既不是成功,也不是失败状态。

2. fulfilled: 意味着操作成功完成。

3. rejected: 意味着操作失败。

promise的原型链(prototype)

promise原型链

Promise.prototype.constructor 返回被创建的实例函数. 默认为 Promise 函数.

Promise.prototype.constructor  

Promise.prototype.catch(onRejected) 添加一个拒绝(rejection) 回调到当前 promise, 返回一个新的promise。当这个回调函数被调用,新 promise 将以它的返回值来resolve,否则如果当前promise 进入fulfilled状态,则以当前promise的完成结果作为新promise的完成结果.

Promise.prototype.catch(onRejected)  

Promise.prototype.then(onFulfilled, onRejected) 添加解决(fulfillment)和拒绝(rejection)回调到当前 promise, 返回一个新的 promise, 将以回调的返回值来resolve.

Promise.prototype.then(onFulfilled, onRejected) 

Promise.prototype.finally(onFinally) 添加一个事件处理回调于当前promise对象,并且在原promise对象解析完毕后,返回一个新的promise对象。回调会在当前promise运行完毕后被调用,无论当前promise的状态是完成(fulfilled)还是失败(rejected)

Promise.prototype.finally(onFinally)

promise的方法

Promise.all(iterable) 方法返回一个 Promise 实例,此实例在 iterable 参数内所有的 promise 都“完成(resolved)”或参数中不包含 promise 时回调完成(resolve);如果参数中 promise 有一个失败(rejected),此实例回调失败(reject),失败原因的是第一个失败 promise 的结果。

Promise.all(iterable)

Promise.race(iterable) 方法返回一个 promise,一旦迭代器中的某个promise解决或拒绝,返回的 promise就会解决或拒绝。

Promise.race(iterable)

Promise.reject(reason) 方法返回一个带有拒绝原因reason参数的Promise对象

参考与:阮一峰ES6

相关文章

  • 关于promise的粗浅理解

    定义 在JavaScript的世界中,所有代码都是单线程执行的。 由于这个“缺陷”,导致JavaScript的所有...

  • 关于政德的粗浅理解

    今天下午在济宁政德学院听取了刘峰教授的讲座—《不忘初心使命,加强政德修养》,初次接受这类培训,难以理解透...

  • 关于股票的粗浅理解(一)

    今天手机推送新闻,说中央汇金公司出钱了。看来明天一早开盘会见红涨上去吧。 身边有为数不多的朋友玩股票,还真就被套里...

  • 关于股票的粗浅理解(二)

    今天早上一开盘,果然蹭蹭往上涨,听说涨了8%多。看来信心十足啊。 股市,瞬息万变,神鬼莫测。但是大方向不会变。大方...

  • 使用promise解决异步递归的一次记录

    这几天碰到一个问题,说起来也不难,只是自己promise理解的比较粗浅,导致一直停滞不前。 需要完成的功能是,抓取...

  • 关于Promise的几点理解

    Promise对象为异步而生,接受一个函数作为参数,该函数里放入需要在主线程上执行的代码。该段代码在执行时,Pro...

  • 关于Promise对象的理解

    简单实例 对Promise执行顺序的理解 输出结果 说明 Promise对象在创建的时候就会立即执行,所以我们看到...

  • oc中 关于weak的粗浅理解

    这两天在研究oc中的weak实现原理,只是看明白了一点浅显的东西,参考地址:https://www.jianshu...

  • Promise 的不完全试坑记录

    Promise 主要就是记忆一下关于 Promise 的一些不太好理解的问题 当在 resolve 或者 reje...

  • Promise async/await

    Promise async/await 参考初探promise promise 理解 JavaScript ...

网友评论

      本文标题:关于promise的粗浅理解

      本文链接:https://www.haomeiwen.com/subject/zjabpctx.html