【发布时间】:2017-02-12 22:38:50
【问题描述】:
我的页面通过调用 AWS S3 存储桶中的 listObjects 函数来加载。这基本上是一个异步调用,它在 AWS S3 中获取一堆对象。
如果我将此调用放在控制器中,然后在异步调用返回并处理所有数据时执行 $scope.$apply() ,这会很好。
但是,每个页面基本上都必须对 S3 存储桶进行相同的调用以填充页面,所以我基本上将相同的代码粘贴到每个控制器上。
显而易见的做法是将此代码移动到服务中,但如何通过服务更新控制器中的范围?我不能在我的服务中执行 $scope.$apply()。
如何让调用该服务的控制器知道异步调用已完成处理并更新控制器中的 $scope 变量?
感谢您的帮助。
【问题讨论】:
标签: angularjs amazon-web-services asynchronous promise