如何阻止在错误后调用Promise链中的所有方法

时间:2019-01-22 19:24:59

标签: bluebird

promise
      .catch(e => { console.log('Error'); return; })
      .finally(e => { console.log('Hi Mum'); return; })
      .then(e => { console.log('hello'); return; });

当诺言被拒绝时,then方法仍然被调用。

如何在拒绝后停止调用then方法?

1 个答案:

答案 0 :(得分:0)

您正在打电话then 到很晚* ,您应该在接听电话之前就打电话给它:

promise
  .then(e => { console.log('hello'); return; });
  .catch(e => { console.log('Error'); return; })
  .finally(e => { console.log('Hi Mum'); return; })

承诺形成一条链,在捕捉到某些东西后继续下去是完全有效的。

*:太晚了,我的意思是then处理程序注册为从finally返回的Promise的延续,而不是初始Promise。