所以我有2个Promise函数。当第一个功能出现错误时,我希望它显示错误消息。当完成或失败时,我希望他们执行finally捕获的所有功能,但是由于某种原因,它无法正常工作。
我的代码如下所示:
// If our garment has a logo
shared.logoExists(garment, model).then(function () {
// Save our panel
return shared.save(model);
// If there was an error
}, function () {
// Display an error message
toastr.warning(localization.resource.logoPlacementError.message);
// Always close the library
}).finally(function () {
// Reset our attachments
self.resetAttachment();
// Hide our library
self.closeLibrary();
});
因此,基本上我想实现的是如果第一个功能失败,它将显示并出错。
当第二个函数失败时,它不会执行任何操作。
但是,如果成功或失败,它将始终关闭该库。
有谁知道我能做到这一点吗?
最佳答案
关闭then函数后,必须使用.catch:
// If our garment has a logo
shared.logoExists(garment, model).then(function () {
// Save our panel
return shared.save(model);
// If there was an error
}).catch(function () {
// Display an error message
toastr.warning(localization.resource.logoPlacementError.message);
// Always close the library
}).finally(function () {
// Reset our attachments
self.resetAttachment();
// Hide our library
self.closeLibrary();
});