登录
首页 >  Golang >  Go问答

在同一无限循环中轮询两个 API,但它们的延迟不同

来源:stackoverflow

时间:2024-03-11 12:12:22 252浏览 收藏

你在学习Golang相关的知识吗?本文《在同一无限循环中轮询两个 API,但它们的延迟不同》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

问题内容

我的服务器上有两个 API。假设 API A 和 API B。我想每 3 秒调用一次 API A,每 200 秒调用一次 API B。我按照以下结构编写了程序:

  1. Main:处理身份验证并处理 API 调用。
  2. API-A:调用 API A 并处理其数据
  3. API-B:调用 API B 并处理其数据。

谁能告诉我如何在单个程序(主程序)中实现这两个 API 调用。我正在为 API A 运行一个 for 循环,并让其休眠 3 秒,现在我想让 API B 适应其休眠条件。

我希望它们都根据各自的条件同时运行,同时都在一个程序中工作,主要是因为它正在处理身份验证,我不想为这两个 API 制作两个单独的程序。


正确答案


您可以设置两个计时器并循环等待两个通道上的事件。

aTicker := time.NewTicker(time.Second * 3)
bTicker := time.NewTicker(time.Second * 200)
for {
  select {
    case <-aTicker.C:
      callApiA()
    case <-bTicker.C:
      callApiB()
  }
}

好了,本文到此结束,带大家了解了《在同一无限循环中轮询两个 API,但它们的延迟不同》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>