4 promise angularjs angular-promise
我已经使用了node.js q库,最后有一个.done()函数可以在最后调用,无论成功与否.
我研究但找不到,有人能指出正确的方向吗?
您将用于.catch(function(e){ throw e; })终止链.
什么.done确实在Q是终止承诺链,使未处理拒绝抛出.由于$ q $exceptionHandler用于抛出拒绝(与退回拒绝),因此.catch(function(e){ throw e; })可以起到同样的作用.
.finally与.finallyQ 相当,它与$ q完全相同.
在Q中,做:
Q().then(handle).done(handleSuccess, handleFail);
Run Code Online (Sandbox Code Playgroud)
几乎相同:
Q().then(handle).then(handleSuccess, handleFail).done();
Run Code Online (Sandbox Code Playgroud)
这非常类似于:
$q.when().then(handle).then(handleSuccess, handleFail).catch(function(e){ throw e; });
Run Code Online (Sandbox Code Playgroud)
但是,由于$ q代表$exceptionHandler抛出异常(与Q或其他promise库不同).done,因为意外链终止的可能性要小得多,因此不太需要.为了显示,
Q().then(function(){ return JSON.parse("invalidJson"); });
Run Code Online (Sandbox Code Playgroud)
是Q中的吞噬错误,但在$ q中,
$q.when().then(function(){ return JSON.parse("invalidJson"); });
Run Code Online (Sandbox Code Playgroud)
这会导致控制台中出现大量红色警告(默认情况下).
| 归档时间: |
|
| 查看次数: |
1843 次 |
| 最近记录: |