回答
好的,我同意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