当我用.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。
答案 0 :(得分:3)
承诺的finally
与尝试块中的finally
具有相同的行为/意图。
如果你写:
try {
throw new Error('test') // do some stuff
} finally {
console.log('finally')
}
然后执行console.log('finally')
,但之后代码将以:
未捕捉错误:测试
与Promises相同,您可以使用finally
执行代码,无论承诺是否已实现或被拒绝,但您仍需要使用catch
回调来处理拒绝。