我是角色新手,我正在构建一个应用程序,我想要进行多个API调用并更新视图,因为来自它们的数据来了。我不想等待所有api调用完成更新我的视图,我的api调用不依赖于彼此。某些API调用需要一分多钟才能返回数据。
我正在考虑使用 $ q.all ,因为我可以启动多个异步任务,但是在完成每个任务后我无法更新视图。有人可以指出我如何建立这个?
我应该只使用$ scope。$ apply在$ http调用的成功块中吗? 到目前为止我的进展LINK(这是我遇到的不同问题,但代码是一样的)
答案 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'