使用Scala进行并行/并发API调用的简单(最好是OO)方法?

使用Scala进行并行/并发API调用的简单(最好是OO)方法?,scala,Scala,我的应用程序现在需要我每分钟进行数千次API调用来检查更新。我以前从未做过这样的事情,我非常迷茫/挣扎着开始。我查阅了各种可能有帮助的框架/库。我看过一个最受推荐的HTTP4S,但我完全搞不懂,因为我从来没有做过任何函数式编程,现在我没有时间学习。这些例子我都不懂,我很犹豫是否要用我不懂的东西。我还研究了Akka库、STTP和play ws,但再次被示例搞糊涂了 我想我只是想寻求一些帮助,也许是一个使用简单库进行并行API调用的示例 编辑在下面添加一些半伪代码 import scala.coll

我的应用程序现在需要我每分钟进行数千次API调用来检查更新。我以前从未做过这样的事情,我非常迷茫/挣扎着开始。我查阅了各种可能有帮助的框架/库。我看过一个最受推荐的HTTP4S,但我完全搞不懂,因为我从来没有做过任何函数式编程,现在我没有时间学习。这些例子我都不懂,我很犹豫是否要用我不懂的东西。我还研究了Akka库、STTP和play ws,但再次被示例搞糊涂了

我想我只是想寻求一些帮助,也许是一个使用简单库进行并行API调用的示例

编辑在下面添加一些半伪代码

import scala.collection.mutable.ListBuffer 

object TestObject {

  def main (args: Array[String]): Unit = {

    val customers: ListBuffer[Customer] = DBSingleton.getCustomers

    for(customer <- customers) {
      val response = doApiCall(customer)
      if(response == "Yes"){
        doTheOtherThingForThisCustomer(customer)
      }
    }
  }
}
导入scala.collection.mutable.ListBuffer
对象测试对象{
def main(参数:数组[字符串]):单位={
val客户:ListBuffer[Customer]=DBSingleton.getCustomers

对于(customer它看起来像是
doTheOtherThing()
没有返回任何有意义的内容,所以您可以这样做:

import concurrent.Future

...
for (customer <- customers) Future {
  val response = doApiCall(customer)
  if(response == "Yes"){
    doTheOtherThingForThisCustomer(customer)
  }
}
import concurrent.Future
...

对于(客户给我们尽可能多的代码。我们不知道你在用这些API调用做什么,也不知道它们需要什么类型的参数。假装你有一个名为Doapacalls的函数可以工作,然后用它编写其余的代码,这样我们就可以更好地了解情况。只是测试了一下,它看起来应该可以工作。谢谢。我开始了我向你道歉,谢谢你的帮助。在宣布你的回答被接受之前,我还要等一天左右才能得到其他答案。同意。这是一个明智的选择。