ES6标准----Promise对象

朱雀 2022-02-22 03:39 378阅读 0赞

Promise的含义:

  1. Promise是异步编程的一种解决方法,比传统的解决方法——回调函数和事件—更合理和强大。

它由社区最早提出和实现,ES6将其写进了语言标准,统一了用法,原生提供了Promise对象。

Promise对象有三种状态:

  1. 1)**pending(进行中) **(2 **fulfilled(已成功) **(3)**rejected(已失败)**。

两大特点:

  1. 1. 对象的状态不受外界影响。
  2. 2. 一旦状态改变,就不会再变,任何时候都可以得到这个结果。

缺点是: 无法取消Promise, 一旦新建它就会立即执行,无法中途取消,然后如果不设置回调函数,Promise内部抛出的错误不会反应到外部来。

基本用法:

Promise对象是一个构造函数,用来生成Promise实例。

  1. const promise = new Promise(function(resolve, reject){
  2. if(/** 异步操作成功 */){
  3. resolve(value);
  4. } else{
  5. reject(error);
  6. }
  7. });
  8. Promise实例生成以后,可以用then 方法分别指定resolved状态和rejected状态的回调函数。
  9. promise.then(function(value) {
  10. /** if success */
  11. }, function(error){
  12. /** fail */
  13. });

一道关于promise的经典题目:

  1. console.log(1);
  2. setTimeout(function () {
  3. console.log(2);
  4. },100);
  5. var promise = new Promise(function (resolve, reject) {
  6. console.log(3);
  7. resolve();
  8. });
  9. promise.then(function () {
  10. console.log(4);
  11. }),
  12. function () {
  13. console.log(5);
  14. }
  15. console.log(6);
  16. //输出 1 3 6 4 2

发表评论

表情:
评论列表 (有 0 条评论,378人围观)

还没有评论,来说两句吧...

相关阅读

    相关 ES6--Promise对象

    Promise对象:代表了未来某个将要发生的操作,通常是异步操作 promise对象可以将异步操作以同步的流程表达出来,避免了层层嵌套的 回调函数(回调地狱),ES6的

    相关 ES6 -- Promise对象

    Promise是一种异步编程的解决方案,ES6提供原声的Promise,它比传统的解决方案,回调函数和事件,更加合理和强大。 Promise对象有以下两个特点: 1、对象的

    相关 es6Promise 对象

    Promise 是异步编程的一种解决方案,解决——回调函数和事件 ES6 规定,Promise对象是一个构造函数,用来生成Promise实例。 下面代码创造了一个Prom

    相关 ES6标准----Promise对象

       Promise的含义:         Promise是异步编程的一种解决方法,比传统的解决方法——回调函数和事件—更合理和强大。    它由社区最早提出和实现,

    相关 ES6--Promise对象

    概述 是异步编程的一种解决方案。从语法上说,Promise 是一个对象,从它可以获取异步操作的消息。 Promise 状态 状态的特点 Promise 异步操