我正在使用 localforage,它返回对 key() 和 length() 等函数的承诺。我也在使用 $http() ,它也返回一个承诺,但它包含一个 finally() 函数,而另一个函数没有。
我的下游服务不知道是 localforage 还是 $http 发出请求,因此它们都需要相同的承诺结构(最终和然后)。有没有办法最终添加到尚未拥有的承诺中?
我试图将 $q.defer().promise.finally 附加到我来自 localforage 的承诺中,但没有成功。
var promise = localforage.length();
promise.finally = $q.defer().promise.finally;
return promise;
还有另一种方法可以实现这一目标吗?