JS中实现等待一段时间之后开始定时循环执行某个方法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中实现等待一段时间之后开始定时循环执行某个方法?相关的知识,希望对你有一定的参考价值。

下面是代码示例:
方法1:
$(function()
var handler = function()

var timer = setInterval( handler , 5000); //每5秒调用一次方法
var clear = function()
clearInterval(timer); //清理时间
);

方法2:
function methodJS()
alert("你好!我是方法!");

function Start()
setInterval(methodJS, 5000);

setTimeout(Start, 7000);//延迟7秒开始周期回调

方法3:
window.onload = function()
setTimeout(fun,5000);


function Start()
//这里是你要执行的方法!
参考技术A function FangFa()
......

function Start()
setInterval(FangFa, 3000); //每3秒调用一次方法

setTimeout(Start, 5000);//延迟5秒开始周期回调本回答被提问者采纳

react中实现异步请求的方法一,react-thunk

写在前面:

react中,dispatch是同步执行reducers生成新状态的,对于页面的操作没有问题;但是如果点击事件是请求了某个结果,需要等待结果响应后再更新视图呢?应该如何处理?这里就用到了异步请求。react-thunk是解决这一问题的一个方法之一。

 

1、先看设置跨域的代码,文件名必须为setupProxy.js

 

const proxy = require("http-proxy-middleware");
module.exports = (app)=>{
    app.use("/api",proxy({
        //需要跨域的目标域名
        target:"http://m.maoyan.com",
        //是否开启代理
        changeOrigin:true,
        //路径重写
        pathRewrite:{
            "^/api":""
        }
    }))
}

 

2、store中设置中间件

 

//applyMiddleware使用中间件
import {createStore,applyMiddleware} from "redux";
//引入redux-thunk
import thunk from "redux-thunk";
import reducer from "./reducer";

//使用react-thunk
const store = createStore(reducer,applyMiddleware(thunk));

export default store;

 

3、actionCreator中进行请求

 

//引入fetch,为了和浏览器中自带的fetch区分重命名fetchpro
import {fetch as fetchpro} from "whatwg-fetch";

//现在的action是一个函数
export const MovieAction = ()=>{

    let action = (val)=>({
        type:"GET_MOVIE",
        value:val
    })


    return (dispatch,getState)=>{
        fetchpro("/api/ajax/movieOnInfoList?token=")
        .then(res=>res.json())
        .then((data)=>{
           dispatch(action(data));
        })
    }
}

 

4、在组件中执行请求数据的函数

 

import React, { Component } from ‘react‘;
import store from "./store";
import {MovieAction} from "./action/actionCreator";
class App extends Component {
  render() {
    return (
      <div className="App">
       
      </div>
    );
  }
  handleGetMovie(){
    store.dispatch(MovieAction())
  }
//在挂载后这个生命周期函数中调用
  componentDidMount(){
    this.handleGetMovie();
  }
}

export default App;

 

以上是关于JS中实现等待一段时间之后开始定时循环执行某个方法?的主要内容,如果未能解决你的问题,请参考以下文章

定时器和计时器

如何让定时器中断一个等待过程?

可等待定时器(获取系统时间)

react中实现异步请求的方法一,react-thunk

在 C++ 中实现“临时可暂停”并发循环

Java 中实现方法重试的一种机制