我已经构建了我的AngularJs应用程序,我有一个工厂,使用ngResource作为依赖项从后端获取数据。该工厂注入服务,最后将该服务注入控制器。
问题在于,由于我的后端调用需要一些时间,因此结果不会反映在控制器中。我确实管理了服务中的承诺,它确实在一段时间后返回结果,因为我能够在控制台中打印它,我真的想避免在控制器中处理这个承诺,现在$ q使用不推荐使用,所以我想知道是否有一个更像花哨的解决方案更像Angular(2/4),AngularJs可以解决这个问题。
谢谢
答案 0 :(得分:1)
我无法看到另一种使用Promises的方法(使用angularjs $ q),因为它是AngularJS的核心。
我发现该文档对此有足够的明确性:ngResource。但是,ngResource
是$http
的包装,可以为您提供承诺。另一方面,ngResource为您提供了一种使用回调快捷方式绕过此步骤的简便方法。
如果您想在angularjs中使用精美的解决方案,则应停止使用$ resource / $ http,并查看fetch和async await概念。
Anothers解决方案存在,但它是一些非常古老的学校方法来阻止你的主线程。
注意:我对$q
的弃用以及你引用Angular
的奇特方式感到非常好奇。