1. 程式人生 > >js 週期性定時器

js 週期性定時器

個人理解:
js 的週期性定時器,相對於定時器之外的程式碼,是非同步執行的。
即,定時器之後的程式碼,不會因為定時器的等待,執行,清除等狀態而停止執行。
即,定時器和定時器以外的程式碼,各幹各的,不會等待彼此。

程式碼如下:

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>setInterval</title>
</head>
<body>
    <script>
        let rings;
        let interval = setInterval(getQueryScope, 500);

        function getQueryScope() {
            if(rings){
                clearInterval(interval);
                return
            }
            console.log("bbb");
            rings = [];
        }

        console.log("aaa");

        // 程式碼執行結果:
        // aaa
        // bbb
    </script>
</body>
</html>