【发布时间】:2018-09-10 19:39:49
【问题描述】:
我有一个反应容器,我想在其中运行一个计时器 60 秒,每 5 秒我想调度一个动作。此操作正在调用 api 并返回一些结果。 要处理的另一件事是假设我的操作在第 3 次调用(即 15 秒后)返回错误,那么此后我该如何停止计时器。
handleSimulateButton = (e) => {
/*
Once I click on Simulate button, I want the below codes to run
exactly for 60 seconds
*/
function runFor60seconds(){
/*anyRequestFails takes boolean value and I can easily determine
its value.
*/
if(anyRequestFails){
//stop timer and exit from function
}
// I want to this every 5 secs
else{
//Calculations
let params = calculatedvalue
this.props.callAPI(params)
}
}
}
我怎样才能做到这一点?我正在学习 React 和 redux,但无法弄清楚。上面的代码 sn -p 只是我所需代码的伪代码。
【问题讨论】:
-
您可以使用 setInterval 创建计时器
-
我阅读了它,并弄清楚了如何每 5 秒运行一次特定任务。但是如何在 60 秒后停止呢?
-
使用 clearinterval 停止计时器
-
我编码并且工作正常。谢谢
标签: javascript reactjs redux