当前位置: 首页 > 面试题库 >

angularJS中的超时功能

朱祺
2023-03-14
问题内容

我正在尝试在angularJS中实现一个简单的计时器。但是,尽管每个人都建议超时功能不起作用。

<!doctype html>
<html lang="en">
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.15/angular-sanitize.min.js"></script>

</head>
<body>

<div ng-app="ss" ng-controller="mainCtrl">
{{timeInMs}}
</div>

<script>
var myApp = angular.module("ss", ['ngSanitize']);
myApp.controller('mainCtrl', function ($sce, $scope) {

    $scope.timeInMs = 10;

        var countUp = function() {
            $scope.timeInMs+= 500;
            $timeout(countUp, 500);
        }

       $timeout(countUp, 500);


});

</script>

</body>
</html>

当我注释掉“ $ timeout(countUp,500);”时 行,代码可以正常工作,但计时器不起作用。我还需要添加其他JavaScript文件吗?

提前致谢。


问题答案:

您必须将$timeout服务注入控制器

var myApp = angular.module("ss", []);

myApp.controller('mainCtrl', function ($sce, $scope, $timeout) {



    $scope.timeInMs = 10;



    var countUp = function () {

        $scope.timeInMs += 500;

        $timeout(countUp, 500);

    }

    $timeout(countUp, 500);

});


<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app="ss" ng-controller="mainCtrl">

    {{timeInMs}}

</div>


 类似资料:
  • 问题内容: 我想编写一个代码,要求输入用户名,但时间限制为15秒。如果用户超过限制并且未能输入名称(或任何字符串),则代码将终止,并且将显示“超时”消息,否则应保存名称并显示“谢谢”消息。我曾经尝试过这种方法,但是这是错误的&无法正常工作。请给我一个解决方案。。谢谢。 问题答案: 该虚拟程序可能会帮助您: 更新: 这是经过测试的代码。 另外,我从man那里得到了一些提示。本手册已包含一个代码段,该

  • 问题内容: 我正在尝试为特定功能实现超时。我检查了SE中的许多问题,找不到适合我问题的解决方案,因为: 我在Windows中运行python 超时是在我无法控制的python函数上应用的,即它是在已经设计好的模块中定义的。 python函数不是子进程 我已经为特定任务开发了一个已经设计好的定制模块(例如),并且其中定义了功能。其中一个功能(例如)由于外部因素而倾向于永久运行,而我只是不希望pyth

  • 问题内容: 我正在使用Android上的Firebase Cloud Functions库,并用于调用云函数。 问题在于该函数需要10到15秒的时间才能将结果返回给客户端,因此客户端会抛出异常。 码 如何更改超时,以便客户端在引发异常之前会等待更多时间? 注意。 我没有使用OkHttp,Retrofit或默认的系统网络功能,而是在使用Firebase Cloud Functions库()来调用该函

  • 我在Android上使用Firebase Cloud Functions library,并使用调用云函数。 问题是函数需要10-15秒将结果返回给客户端,因此客户端抛出异常。 注意。我没有使用OkHttp、REVERFIT或默认的系统网络函数,而是使用Firebase Cloud functions library()调用该函数。

  • 问题内容: 我知道我可以每次设置超时: …但是我想设置一个全局超时来保持我的代码为DRY。 问题答案: UPDATED :$ http将不遵守默认设置,因为它在httpProvider中设置了超时(请参见注释)。可能的解决方法: https //gist.github.com/adnan-i/5014277 原始答案:

  • 问题内容: 我正在尝试在控制器中设置超时,以便如果在250毫秒内未收到响应,它将失败。我将单元测试的超时设置为10000,这样就可以满足此条件,有人可以指出正确的方向吗?(编辑,我试图在不使用$ http服务的情况下实现这一点,我知道该服务提供超时功能) (编辑- 我的其他单元测试失败了,因为我没有在它们上调用timeout.flush,现在我只需要在promiseService.getPromi