回答
好的,我同意Dispatch文档目前有点粗糙和小,但是将来可能会改变(这是许多伟大的Scala库的情况)。
但申请派遣您的需求,结果是壮观:
import dispatch._
(1 to 100).map{ i =>
Http(url("http://bash.org/?" + i) OK as.String)
}.map{ f =>
try {Some(f.apply)} catch {case e => println(e.getMessage); None}
}.seq.flatten
这将让你的第一个100个报价文件从bash.org
并行。
谢谢,这种示例非常有帮助! – deadfoxygrandpa
因为所有URL请求都将并行处理,并且异步调用映射,所以您不需要使用Dispatch 0.9.0的并行集合。我敢打赌平行收藏的开销会超过收益。相反,像往常一样做所有事情,然后使用'Promise.all'将承诺的可迭代转换为可迭代的承诺,然后应用。 –
@ DanielC.Sobral - Promise.all将如何处理异常?它是否会完全失败,如果它会从一个潜在的承诺中得到例外? – Rogach
- 1. 斯卡拉 - 字符串到网址
- 2. 斯卡拉并发网络
- 3. 斯卡拉模糊过载
- 4. 铁路大众下载
- 5. 斯卡拉在斯卡拉类
- 6. 斯卡拉电梯 - 网址到页面文件夹
- 7. 卡夫卡与斯卡拉
- 8. 斯卡拉
- 9. 在斯卡拉
- 10. 斯卡拉 - replaceAllIn
- 11. 在斯卡拉
- 12. `doto`斯卡拉
- 13. 斯卡拉:_的
- 14. 在斯卡拉
- 15. 在斯卡拉
- 16. 在斯卡拉
- 17. 从斯卡拉
- 18. DSL斯卡拉
- 19. 从斯卡拉
- 20. 在斯卡拉
- 21. 斯卡拉:Option.getOrElse(...)
- 22. 斯卡拉
- 23. 在斯卡拉
- 24. 有斯卡拉
- 25. 在斯卡拉
- 26. 在斯卡拉
- 27. 在斯卡拉
- 28. 与斯卡拉
- 29. 在斯卡拉
- 30. 在斯卡拉
Dispatch有什么问题? – Rogach
除了作者在最新的大升级之后还没有找到时间提供适当的文档之外。 – Rogach
如果Dispatch没有这种奇怪的语法,它会很好。这使得缺乏适当的文档更令人沮丧。 – deadfoxygrandpa