【问题标题】:How can I update the view after each API call如何在每次 API 调用后更新视图
【发布时间】:2013-12-27 07:51:36
【问题描述】:

我是 Angular 的新手,我正在构建一个应用程序,我想在其中进行多个 API 调用并在数据来自它们时更新视图。我不想等待所有 api 调用完成来更新我的视图,并且我的 api 调用不相互依赖。某些 API 调用需要一分钟以上才能返回数据。

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

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

【问题讨论】:

  • 为什么这被否决了?
  • 您可以改进您的问题,展示一些代码示例或 JSFiddle 以更好地解释您想要实现的目标
  • 你的问题太模糊了,而且你没有提供任何代码......在 plunker 中创建一个演示,帮助识别你的问题

标签: angularjs


【解决方案1】:

有点难以理解您的模型以及您试图从您的问题中实现什么,但您可能想要使用类似 $broadcast()$on() 的东西。

所以当你的 API 下载完成时你会广播一个事件:

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

然后在其他地方收听并更新您的视图

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

这种语法可能并不完美,由于您有多个 API 调用,您需要广播不同的事件,例如“API-product-download”和“API-catalogue-download”

【讨论】:

    猜你喜欢
    • 2016-11-17
    • 2013-05-30
    • 1970-01-01
    • 1970-01-01
    • 2020-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多