定时刷新数据

303 阅读1分钟

`
// 模拟请求
const requestData = (data)=> { return new Promise((resolve, reject) => { setTimeout(()=>{ if(data) { resolve("成功") }else { resolve("失败") } }, 1000) }) }

useEffect(()=>{
    let timer;
    const sendRequest = (boolean: boolean)=>{
        // 发送请求
        requestData(boolean).then((res)=>{
            console.log(res);
            if(res == "成功") {
                // 判断返回成功,重新发送请求
                timer = setTimeout(()=>{
                    sendRequest(false)
                },10000)
            }else {
                // 超时或返回失败,可自定义处理
                timer = setTimeout(()=>{
                    sendRequest(true)
                },10000)
                
            }
        })
    }
    // 开始发送一次
    sendRequest(true);
    // 清理定时器
    return ()=>{
        clearTimeout(timer);
    }
},[])`