javascript - 使用 javascript timeOut() 的正确方法

标签 javascript timeout

例如,如果我要按照以下方式格式化我的代码

<script type="text/javascript">
    var timeout;
    function auto() {
        $.ajax({
                url: "functions/ajax.php",
                data: "func=auto",
                type: "GET",
                dataType: "json",
                success: function(data){
                       $.each(data.search, function (i, v) {
                               console.log('Success ' + v);
                       });
                },
                error: function (jqXHR, textStatus, errorThrown){
                       console.log('Error ' + jqXHR);
                }
        });
     }

    function start() {
    timeout = setTimeout('auto()', 2000);
    }

    function stop(){
        clearTimeout(timeout);
}
</script>

我的 var timeout 不是由值定义的,这有关系吗?由于实际超时甚至没有处理,它运行函数 auto() 一次,然后停止

最佳答案

首先,不要在 setTimeout 中使用引号(我不确定但我相信调用 eval()),只需通过引用传入函数:setTimeout(自动, 2000);

其次,JavaScript 是一种动态类型语言,这意味着变量没有固定类型,它们可以根据情况而改变,因此您的代码是完全有效的。

最后,如果您不打算在计时期间中止超时,则无需清除它,因为它会在执行后消失。

关于javascript - 使用 javascript timeOut() 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15370038/

相关文章:

javascript - 从javascript中的数字列表中获取等于或大于数字

javascript - "import"意外 token ? ( Chrome 62)

javascript - 如何创建具有均匀间距的虚线圆圈?

timeout - .NET 取消流 BeginRead

php - 用户不活动注销 PHP

php - file_get_contents 和 file_put_contents 的 FTP 超时

javascript - angularjs使用拼接函数删除选定的项目

javascript - 存储 ASCII 艺术以用作简单 JavaScript 游戏中的角色。我可以将它存储在角色的对象中吗?

c# - 等待 100 毫秒以获取方法返回的数据 else throw exception

php - 通过 .htaccess 在 PHP 中延长 session 超时