首页 > 解决方案 > 在 NodeJS 中定期从 API 获取数据

问题描述

我想定期从 API 获取数据。我编写了一个成功获取数据的脚本,但是如何无限次重复此步骤,以便我可以定期获取数据。

我想以 1 秒的间隔获取数据,我该怎么办?

const fetch = require('node-fetch')
const time = new Date()

function saveData(metrics) {
  console.log(time.getSeconds())
  console.log(metrics)
  console.log(time.getSeconds())
}

const getData = () => {
  fetch('http://example.com/api/v1')
    .then(response => response.json())
    .then(saveData)
    .catch(err => console.error(err))
}

getData()

标签: javascriptnode.jsnode-fetch

解决方案


像这样使用它

const interval = setInterval(() => {
  getData();
}, 1000);

如果您想避免像上面那样进行包装回调,您可以将 getData 作为回调传递,setInterval 将在每个指定的间隔时间后调用,即此处为 1 秒

const interval = setInterval(getData, 1000);

推荐阅读