在 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()

解决方法

就这样使用它

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

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

const interval = setInterval(getData,1000);