angularjs - 如何让我的文本根据 http 请求的结果不断更改,直到满足结束条件?

标签 angularjs

我是一个有点棱 Angular 分明的新手。我基本上需要用进度信息更新一段文本,直到任务完成。我想通过每 5 秒有 Angular 请求更新文本来做到这一点。

我的资源调用如下所示:

getPublishProgress: function () {
            return $http.get("backoffice/Approval/ApprovalApi/GetPublishProgress");
        }

在我的 Controller 中我可以这样做一次,如下所示:

awaitingResource.getPublishProgress().then(function (response) { $scope.publishProgress = response.data });

所以我想要做的是每 5 秒在我的 Controller 中运行该代码,而不锁定页面(该消息将具有特定文本来指示应停止轮询)。

如何使用 Angular.Js 执行此操作?

最佳答案

我认为你在这里需要的一切 - 就是弄清楚如何在 angularJS 中实现长轮询请求。这是JS Fiddle example

$scope.publishProgress = "";
var poll = function() {
    $timeout(function() {
        awaitingResource.getPublishProgress().then(function (response) { 
           $scope.publishProgress = response.data
        });
        poll();
    }, 5000);
};     
poll();

如果您需要更多信息,请发表评论。希望对您有帮助!

关于angularjs - 如何让我的文本根据 http 请求的结果不断更改,直到满足结束条件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39592321/

相关文章:

javascript - ChartJS 不断向 X 轴添加一天。我找不到理由。有什么建议吗?

html - 单击 <li> 使其表现得像标签

javascript - 将搜索结果添加到表中而不替换以前的结果

javascript - 在使用 typescript 的 Jasmine 测试中注入(inject) $http 失败

javascript - Angular - 根据行数设置文本区域行

javascript - 成功返回数据的 Angularjs 路由解析产生未定义的值

angularjs - 使用 OverlappingMarkerSpiderfier 时如何处理 map 标记的 OnClick?

javascript - 始终使用 UTC+0 - 使用 javascript/angularjs 修复客户端浏览器上的自定义时区

angularjs - Node 应用程序中的请求超时

javascript - 使用 JavaScript 从控制台运行 ng-click 函数