javascript - 每分钟向服务器请求一次 - 其他方式然后超时?

标签 javascript reactjs

我想每分钟从服务器获取数据以检查新数据。现在我正在使用 Timeout 循环执行此操作,但我认为可能有更好的方法来执行此操作。那应该怎么做呢?

async componentDidMount () {
    await this.callApi();
    await this.callNames();
}

callApi = async () => {
    try {
        const response = await fetch('/rates');
        if (response.status === 200) {
            const body = await response.json();
            this.setState({ rates: body.rates, ratesError: null });
        } else {
            this.setState({ ratesError: 'Error getting currency rates' });
        }
    } catch (err) {
        console.log(err);
        this.setState({ ratesError: err });
    }
    setTimeout(this.callApi, 60000);
}

最佳答案

你可以使用setInterval

var intervalID = window.setInterval(this.callApi, 60000);

https://developer.mozilla.org/en-US/docs/Web/API/WindowOrWorkerGlobalScope/setInterval

关于javascript - 每分钟向服务器请求一次 - 其他方式然后超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49612142/

相关文章:

javascript - 为什么 React-router Link 不起作用(ReactJS + Redux)?

javascript - 我无法使用javascript从android ajax获取responseText的数据

javascript - Meteor 应用程序中的“jQuery 未定义”?

javascript - onclick 必须点击两次才能触发

javascript - 单个文件组件 vue js 上的属性 this.$el undefined

javascript - 是否可以将 ref 添加到 props.children 元素?

reactjs - NextJS 中页面的选择性静态 html 导出

javascript - React-router-dom 嵌套在子组件中不起作用

javascript - 插入新表格行时增加输入 ID

javascript - 导入默认导出和命名导出是否会加载模块两次?