【问题标题】:How to make API requests with intervals with NodeJS如何使用 NodeJS 以间隔发出 API 请求
【发布时间】:2020-09-08 01:37:42
【问题描述】:

对不起,如果这个问题已经被问过,我搜索了它,但找不到任何明确的内容。

如何使用 NodeJS 以间隔发出 API 请求,例如每 20 秒一个请求?

这样我可以遵守 API 限制,如果我一次发出所有请求,它会崩溃。

不确定是否重要,但我正在使用 Axios 处理请求。

如果需要任何其他信息,请告诉我。谢谢!

【问题讨论】:

  • 您的搜索词是否包含“计时器”一词?
  • 你可以在javascript中使用setTimeout函数。

标签: node.js api request axios backend


【解决方案1】:

这是我的情况的最佳解决方案:

    let i = 0;
    let idInterval = setInterval(() => {
      if (i < dataFortheAPI.length) {
        funtionThatMakestheApiRequest(dataFortheAPI[i]);
        i++;
      } else {
        clearInterval(idInterval);
      }
    }, 22000);

【讨论】:

    【解决方案2】:

    使用setInterval 应该很容易做到这一点,间隔以毫秒为单位。

    如果您需要更多地控制调用 api 的时间,例如使用 cron 表达式来安排调用,我建议尝试node-cron。

    const axios = require("axios");
    
    async function callApi() {
        let response = await axios( { url: "https://jsonplaceholder.typicode.com/users" });
        console.log("Response:", response.data);
    } 
    
    function callApiEveryNSeconds(n) {
        setInterval(callApi, n * 1000);
    }
    
    callApiEveryNSeconds(20);
    

    【讨论】:

      【解决方案3】:

      您可以将https://www.npmjs.com/package/request 用于 API 请求和 setInterval()。

      【讨论】:

      猜你喜欢
      • 2018-05-04
      • 2013-11-01
      • 2019-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-25
      • 2016-05-20
      • 1970-01-01
      相关资源
      最近更新 更多