promise的finally方法

参考文档

  1. promise-finally学习

问题来源

在做移动app开发的时候,需要每次发送请求,都会有‘菊花’提示,请求发送完毕,就需要关闭loading提示框,不然界面就无法被点击。但是请求有的是成功、有的失败、有的超时,为了不影响整个系统的正常使用,就需要强制关闭提示框,正好利用promise的finally来关闭提示框

案例

var promise = new Promise(function(resolve, reject) {
    console.log("promise")
    window.setTimeout(function(){
      if (false){
        resolve('huangbiao');
      } else {
        debugger
        reject('error');
      }
    },1000)
  }).then(function(){
    console.log('success');
  }).catch(function(){
    console.log('catch');
  }).finally(function(){
    console.log('finally');
  });

结果
error
catch
finally

知识点

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

猜你喜欢

转载自blog.csdn.net/hbiao68/article/details/84529057