javascript - 如何在javascript中同时运行到if语句?

标签 javascript reactjs

我正在开发一个员工登录系统,计算员工登录的总时间,包括休息时间等,所以我有两个组件 1. 一直计算时间,直到员工登录 2. 计算总时间休息。所以在这种情况下,我不希望登录时间在打断时停止,而是我希望中断和登录时间应该一起运行

const [isLoggedIn, setLoggedIn] = useState(true)
const [isBreakPunched, setBreakPunch] = useState(true)
const [breakTime, setBreakTime] = useState(0);
const [loginTime, setLoginTime] = useState(0);
  
  useEffect(() => {
    if (isLoggedIn) {
      const interval = setInterval(() => {
        setLoginTime(onlineTime + 1);
      }, 1000);
      return () => clearInterval(interval);
    } 
    if (isBreakPunched){
      const interval = setInterval(() =>{
        setBreakTime(auxTime +1);
      },1000);
      return ()=> clearInterval(interval);
    }
  });

当它运行时,loginTime 只是在运行,因为第一个条件确实是登录时间所以要运行 breakTime 我必须停止 loginTime。此代码将两者都视为 if..else.. 循环

我的问题是,当任何人的条件为 true 时,我想同时运行它们,它们应该相互独立

最佳答案

setInterval( () => {
    if (isLoggedIn) {
        setLoginTime(onlineTime + 1);
    }
    if (isBreakPunched) {
        setBreakTime(auxTime +1);
    }
}, 1000);

此间隔检查是否有人登录以设置登录时间,如果他们在休息则设置休息时间。顺便说一句,您希望根据彼此的情况设置登录时间和中断时间,同时彼此“独立”,这是没有意义的。

关于javascript - 如何在javascript中同时运行到if语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67452330/

相关文章:

javascript - hide dropdown on 'body' 点击产生需要双击再次显示

javascript - Angular 表达式在 Controller 范围内不起作用

javascript - 在 Web 应用程序中乐观添加列表项的模式是什么?

javascript - 我收到错误 : Can't perform a React state update on an unmounted component even though i created cleanup

javascript - 我可以在 React 类中包含 React 类吗?

javascript - 未捕获的类型错误 : Cannot read property 'value' of null (React js component id passing other component)

javascript - 数据正在发送到我的数据库而无需发出请求

javascript - AngularJS:如何包装同步函数以使其异步

javascript - 数据与 Javascript 中的继承冲突

javascript - 通过鼠标事件创建 div。类似于鼠标选择文件组