【问题标题】:How to use $timeout in angular js with $resource?如何在带有 $resource 的角度 js 中使用 $timeout?
【发布时间】:2015-11-23 11:31:44
【问题描述】:

我想知道如何在我的控制器中使用 $timeout 每秒调用 web api 服务器?以下代码是我为本节创建的控制器和自定义服务。现在我可以提取数据,但由于是新闻,我想每秒刷新一次。

这是我的控制器

   (function () {
    "use strict";
    angular
        .module("Myapp")
        .controller("homeController", ["newsService", homeController]);

    function homeController(newsService) {
        var hc = this;
        newsService.query(function (data) {
            hc.news = data;
        })
    }
}());

以下代码是我的自定义服务

  (function () {
    "use strict";
    angular
        .module("commonServices")
        .factory("newsService", ["$resource",
                                  "appSettings",
                                   newsService])
    function newsService($resource, appSettings) {
        return $resource(appSettings.serverPath + "/api/news");
    }
}());

【问题讨论】:

    标签: javascript angularjs api resources timeout


    【解决方案1】:

    angular js中有一个服务叫$interval

    $interval(function_to_call_every_second, 1000);
    

    我会说 1 秒太小了,它会让你的 web 服务超载

    【讨论】:

    • 能否告诉我如何实现它
    • 我为你创建了一个 jsfiddle 看看这个jsfiddle.net/vvr9qmk9
    • 感谢您的回答,我非常感谢您的努力,但我需要的是如何在我的代码中使用 $timeout 或 $interval?
    • 将你的 homeController 修改为这个函数 homeController(newsService, $interval) { var hc = this; $interval(getNewsQuery, 1000); var getNewsQuery = function() { newsService.query(function(data) { hc.news = data; }); } }
    • 对不起,它不起作用。浏览器调试器说“TypeError: $interval is not a function”
    猜你喜欢
    • 2018-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-08
    • 1970-01-01
    • 2013-11-12
    • 1970-01-01
    相关资源
    最近更新 更多