首页 > 解决方案 > 函数之间的 switch 语句

问题描述

我正在尝试创建一个 switch 语句,其中每个案例都调用一个函数,其中 setInterval 计时器自动从案例到案例不停。

 var myTimer;
 switch(myTimer = setInterval(function() {
   case 1:
    auto_url();
    break;
   case 2:
    auto_url2();
    break;
   case 3:
    auto_url3();
   }, 10000);

标签: javascriptgoogle-chrome-extension

解决方案


为了以想要的顺序重复调用函数,您可以获取一个数组并存储一个索引以进行访问。

对于回调的每次调用,setInterval都会从数组中取出一个函数并调用。索引会为下一次访问而更新和调整。

var fn1 = function () { console.log('fn1'); },
    fn2 = function () { console.log('fn2'); },
    fn3 = function () { console.log('fn3'); },
    fns = [fn1, fn2, fn3],
    index = 0,
    myTimer = setInterval(function() {
        fns[index++]();
        index %= fns.length;
    }, 1500);


推荐阅读