zoukankan      html  css  js  c++  java
  • Promise学习(五)

    Promise.prototype.finally():

    finally方法返回一个Promise。在promise结束时,无论结果是fulfilled或者是rejected,都会执行指定的回调函数。这为在Promise是否成功完成后都需要执行的代码提供了一种方式。
    这避免了同样的语句需要在then()和catch()中各写一次的情况。
    语法:
    p.finally(Promise 结束后调用的function);
    
    p.finally(function() {
       // 返回状态为(resolved 或 rejected)
    });
    

     并且由于无法知道promise的最终状态,所以finally的回调函数中不接收任何参数,它仅用于无论最终结果如何都要执行的情况。

        let a = Promise.resolve(2).then(
          () => {},
          () => {}
        );
        console.log("resolve", a);
        let c = Promise.reject(2).catch(
          () => {},
          () => {}
        );
        console.log("reject", c);
        let b = Promise.resolve(2).finally(() => {});
        console.log("finally", b);
    

      结果如下:

     大家可以看到,只有finally在没有任何参数代入的情况下获取到了结果为2,

    而resolve,和 reject在没有赋予参数的情况下为undefined。

  • 相关阅读:
    java上传1t文件
    上传1T文件
    超过20g的文件+上传
    文件批量下载
    下载超大文件的控件
    Java上传大文件夹
    Java超大文件上传解决办法
    vue+大文件上传控件
    cocos2dx3.1 win7安装步骤及编译到安桌
    Muller’s method (website)
  • 原文地址:https://www.cnblogs.com/baisong11/p/13753607.html
Copyright © 2011-2022 走看看