1
我真的很喜歡Scala 2.10中的新Future
API,我正在嘗試將它用於簡單腳本。該方案的要點如下:Scala 2.10在SBT中使用readLine的期貨
- HTTP請求到一些URL
- 需要用戶輸入基於所述響應
- 進一步處理
的想法是實現一切作爲鏈期貨(平面圖等),但這裏是我的問題:
我目前正在做我的SBT測試,所以當主線程結束時,SBT回到它的REPL。同時,我的Future
計算仍在等待我的用戶輸入。一旦我開始嘗試輸入,似乎第二步中的readLine
調用與SBT試圖執行的任何輸入作鬥爭。例如,如果我的預期輸入是abcdefghijklmnop
,我的程序會收到一個隨機子集,如adghip
,然後當它結束時,SBT會告訴我bcefjklmno
不是一個命令。
我怎麼能要麼...
- 延遲從期貨的守護線程之前完成主線程
- 或一些其他呼叫不會與SBT 打替換
readLine
Ahh,http://stackoverflow.com/questions/10565475/possible-bug-in-scala-2-10-future?rq=1可能會回答我的問題。要把這件事留下來,直到我因爲在搜尋中不好而感到不適。 – Dylan