【问题标题】:Async map for Play FrameworkPlay 框架的异步映射
【发布时间】:2015-12-03 00:30:19
【问题描述】:

Node.js 有一个类似async modules 的东西。 有谁知道 - 如何组织这样的事情:

async.map(['file1','file2','file3'], fs.stat, function(err, results){
      // results is now an array of stats for each file
});

目前我正在使用 Play Framework/Scala

【问题讨论】:

  • 在这种情况下fs.stat 的类型是什么?
  • 我认为使用FutureAction.async 可能是这里的解决方案。我不确定你想在什么情况下使用它。
  • @PatrykĆwiek 每个值的函数
  • @Maria 什么功能? A => Future[B]?还是A => B?第二个在这种情况下并没有多大意义,但如果你已经对每个元素进行了异步处理,你可以简单地做Future.sequence(files.map(fn)).map(results => ...)

标签: scala playframework


【解决方案1】:

如果您找到fs.stat 的等效项(我认为这不是您问题的目的),您可以使用Parallel Collections。你会得到这样的东西:

Vector("file1","file2","file3").par.map(f => function(fs.stat(f)))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-20
    • 1970-01-01
    • 1970-01-01
    • 2019-07-10
    • 1970-01-01
    相关资源
    最近更新 更多