Angular 1.6.1"可能未处理的拒绝"当使用.finally()时

时间:2017-01-09 04:38:01

标签: javascript angularjs promise

当我用.finally()处理一个承诺时,我得到了这个"可能是未处理的拒绝"错误,所以而不是。最后我必须使用冗余的.then()和.catch()内部相同的代码。这是一个错误还是处理这种拒绝的正确方法?

# Create Data
for i in range(1,5):
    column1 = QtGui.QStandardItem('Apple')
    column2 = QtGui.QStandardItem('Orange')
    column2.setCheckable(True)
    model.appendRow([column1, column2])

这里是fiddle

1 个答案:

答案 0 :(得分:3)

承诺的finally尝试块中的finally具有相同的行为/意图。

如果你写:

try {
  throw new Error('test') // do some stuff
} finally {
  console.log('finally')
}

然后执行console.log('finally'),但之后代码将以:

停止
  

未捕捉错误:测试

与Promises相同,您可以使用finally执行代码,无论承诺是否已实现或被拒绝,但您仍需要使用catch回调来处理拒绝。