用例
我有一个$resource
调用,它执行 athen
后跟 afinally
进行清理。在等待服务器时,用户可能会与系统交互,我想在then
方法之前添加更多方法finally
。
如何将then
方法添加到在预定义之前执行的现有$promise
链中finally
?
示例代码
下面是所需用例的简化代码示例。将then
方法添加到现有链可以由$on
、$watch
或某些例程触发。
function ctrl($scope, $timeout) {
var a = $timeout(function() {
console.log("Time out complete");
return this;
}, 1000).finally(function() {
console.log("Finally called!");
});
// some logic
// some events
// some stuff happens
// then something might insert this
// into the promise chain.
a.then(function() {
console.log("Another then!");
});
};
结果
期望的结果:
> Time out complete
> Another then!
> Finally called!
当前结果:
> Time out complete
> Finally called!
> Another then!