cai*_*ci2 0 javascript promise
请参阅下面的示例,其中method将返回promise并相应地解析/拒绝该promise.我现在对处理它的决心不感兴趣,我只是想处理拒绝.
有没有更好的,跨浏览器的方式来做到这一点,而没有声明无用的成功功能?
MyClass.method().then((sData) => {
// Nothing to do here
}, (eData) => {
// Important code to run here
})
Run Code Online (Sandbox Code Playgroud)
在我的代码中我使用AngularJS承诺.但是,该问题与其他常见库和本机Promise对象相关.
正如其他答案所述,使用.catch该功能。
MyClass.method()
.catch(error => { error handling logic (async)})
Run Code Online (Sandbox Code Playgroud)
我想补充的是以下内容:
通常在.then()函数中您提供 2 个这样的回调(这些回调始终会异步执行):
const promise2 = doSomething().then(successCallback, failureCallback);
Run Code Online (Sandbox Code Playgroud)
然而.catch()是then()successCallback 填写的简写null。
then(null, failureCallback)
Run Code Online (Sandbox Code Playgroud)
是! 您可以使用catch此功能:
MyClass.method()
.catch(error => { ... })
Run Code Online (Sandbox Code Playgroud)
假设MyClass.method()返回一个有效的Promise API对象,catch应该能够捕获任何拒绝.