Javascript setInterval不等待运行功能

0 javascript delay setinterval

这是我的代码:

<script type="text/javascript">
        <!--
        window.onload = function() {            

        function obtenirTOC(){

            $.ajax({
                type: "post",
                url: "http://saaprod/soutien_tache/outils/preferencesAO/tocCheck.asp", 
                success: function(str){
                if (str=="Oui"){
                    $("#show-hide-navigation").click();
                    }
                }
            })

        }
            setInterval(obtenirTOC(),30000);
}
        //-->
        </script>
Run Code Online (Sandbox Code Playgroud)

我的代码没有像预期的那样等待30000毫秒。只要加载页面,它就会开始运行。

你能帮助我吗?

谢谢!

Dav*_*vid 5

这不符合您的想法:

setInterval(obtenirTOC(),30000);
Run Code Online (Sandbox Code Playgroud)

这将立即执行该函数,并设置间隔以执行该函数的返回值。(在这种情况下为undefined。)相反,只需传递函数引用本身即可:

setInterval(obtenirTOC,30000);
Run Code Online (Sandbox Code Playgroud)