gpt4 book ai didi

javascript - 如何在react js中的setInterval()方法上动态传递不同的时间

转载 作者:行者123 更新时间:2023-12-01 00:02:01 25 4
gpt4 key购买 nike

代码:

class Schedule extends Component {
state = {
new_date: null
}
componentDidMount() {
var start = new Date().getMinutes()
var end = 24
var diff = end - start
var interval = setInterval(() => {
this.setState({
new_date: new Date()
})
}, diff)
interval()
}
}

这里我想要的只是在每次页面刷新或满足特定条件时传递不同的计时器值假设当我刷新页面时,我将得到新的日期,并且我想从末尾减去新的日期,在这里我可以得到假设 diff == 5000 毫秒。

但问题是在计时器执行后,我想再次在变量 start 中找到新日期,并从变量 end 中减去它,这样我在变量 diff 中将有不同的值,因此不同的计时器值和上面的代码无法更新变量起始值。如果有人能帮助我,那就太好了

最佳答案

如果你想改变时间,你应该清除间隔

let interval

class Schedule extends Component {
runInterval: (time) => {
if (interval) {
clearInterval(interval)
interval = null
}

interval = setInterval(() => {
// do something in here and you have also a new time
// pass new time to run interval function to have interval with new
// time
this.runInterval(3000) // 3000 is an example of a new time
}, intervalPeriod)
}
componentDidMount() {
var start = new Date().getMinutes()
var end = 24
var diff = end - start

this.runInterval(diff)
}
}

关于javascript - 如何在react js中的setInterval()方法上动态传递不同的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60657533/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com