Promise中除了常用的then和catch外,finally也是很重要的。

一、finally的作用

        不管promise最后的状态,在执行完then或catch指定的回调函数以后,都会执行finally方法指定的回调函数。

二、应用场景

        在项目中常遇到一些加载效果的功能,一般请求前页面显示加载效果,请求完成后取消页面加载效果,我一开始将标识放到then里面去处理,后面发现如果请求出错的情况下,页面一直加载没办法取消,后面将标识放到finally中去处理,从而解决了问题

 equipmentApi
            .adddingNode(data)
            .then(({ code, message }) => {
              if (code === 200) {
                this.$message.success("新增成功!");
                this.getTreeData();
                this.handleCheck();
                this.cancel();
              } else if (code === 40001) {
              } else {
                this.$message.error(message);
              }
            })
            .finally(() => {
              this.buttonLoading = false;
            });

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐