AngularJs 使用 ngResource 从控制器解析服务

AngularJs resolving service from controller with ngResource

我构建了我的 AngularJs 应用程序,其中我有一个工厂使用 ngResource 作为依赖项从后端获取数据。这个factory注入到一个Service中,最后这个service注入到一个controller中。

问题是因为我的后端调用需要一些时间,结果没有反映在控制器中。我确实在服务中管理承诺,一段时间后它确实 return 结果,因为我能够在控制台中打印它,我真的想避免在控制器中处理这个承诺,还有 $ q 用法现在已弃用,所以我想知道 AngularJs 是否有更像 Angular(2/4) 的更奇特的解决方案来解决这个问题。

谢谢

我看不到使用 Promises 的其他方法(使用 angularjs $q),因为它是 AngularJS.

的核心

我发现文档对这一点已经足够明确了:ngResource。然而,ngResource$http 的包装器,它给了你一个承诺。另一方面,ngResource 为您提供了一种使用回调快捷方式绕过此步骤的简单方法。

如果您想要 angularjs 中的奇特解决方案,您应该停止使用 $resource / $http,并查看 fetch and async await 概念。

存在其他解决方案,但它是一些非常古老的方法来阻塞您的主线程。

注意:我很好奇 $q 的弃用以及您引用的 Angular 的花哨方式。