javascript - 函数之间的 switch 语句
问题描述
我正在尝试创建一个 switch 语句,其中每个案例都调用一个函数,其中 setInterval 计时器自动从案例到案例不停。
var myTimer;
switch(myTimer = setInterval(function() {
case 1:
auto_url();
break;
case 2:
auto_url2();
break;
case 3:
auto_url3();
}, 10000);
解决方案
为了以想要的顺序重复调用函数,您可以获取一个数组并存储一个索引以进行访问。
对于回调的每次调用,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);
推荐阅读
- angular - 为什么嵌套这些可观察对象在 Ionic-Angular 中不起作用?
- macos - 石英/可可渐变填充与线性颜色空间中的插值?
- c# - 远程服务器返回错误:(400) Bad Request in C# Code
- calendar - 在使用 api 更新谷歌日历事件时,从服务帐户 ID 而不是个人邮件 ID 发送的电子邮件
- r - ggplot2 - 在带有正负 y 值的条形图中以倒序排列的有序因子堆叠
- android - 成功将文件写入磁盘存储后如何打开文件
- sql - 根据日期和上一行获取行
- html - 我需要帮助如何在其他 div 中创建一个带有 div 的响应式框架
- c++ - 命名空间“asio”没有成员“io_context”
- docker - 如何从 docker 镜像运行 helm