如何在每次API调用后更新视图

时间:2013-12-10 00:16:28

标签: angularjs

我是角色新手,我正在构建一个应用程序,我想要进行多个API调用并更新视图,因为来自它们的数据来了。我不想等待所有api调用完成更新我的视图,我的api调用不依赖于彼此。某些API调用需要一分多钟才能返回数据。

我正在考虑使用 $ q.all ,因为我可以启动多个异步任务,但是在完成每个任务后我无法更新视图。有人可以指出我如何建立这个?

我应该只使用$ scope。$ apply在$ http调用的成功块中吗? 到目前为止我的进展LINK(这是我遇到的不同问题,但代码是一样的)

1 个答案:

答案 0 :(得分:1)

了解您的模型以及您尝试从您的问题中获得的内容有点难,但您可能希望使用$broadcast()$on()之类的内容。

因此,当您下载API时,您将广播一个事件:

$scope.$broadcast('API-download', data);

然后在其他地方听取并更新您的观点

$scope.$on(
    'API-download',
    function(data){ 
         processData( data );
    }
)

该语法可能不完美,因为您有多个API调用,您需要广播不同的事件,如'API-product-download'和'API-catalog-download'