【发布时间】:2012-11-25 19:27:41
【问题描述】:
我真的很喜欢 Scala 2.10 中的新 Future API,我正在尝试将它用于一个简单的脚本。该程序的要点如下:
- 对某个 URL 的 HTTP 请求
- 根据响应需要用户输入
- 进一步处理
这个想法是将所有东西都实现为 Futures 链(平面图等),但这是我的问题:
我目前正在 SBT 中进行测试,所以当主线程完成时,SBT 会回到它的 REPL。同时,我的Future 计算仍在等待我的用户输入。一旦我开始尝试输入,似乎第 2 步中的 readLine 调用正在与 SBT 尝试执行的任何输入发生冲突。
例如,如果我的预期输入是abcdefghijklmnop,我的程序会收到它的一个随机子集,例如adghip,然后当它完成时,SBT 会告诉我bcefjklmno 不是命令。
我怎么能...
- 在 Futures 的守护线程之前延迟主线程完成
-
或将
readLine替换为不会与 SBT 冲突的其他调用
【问题讨论】:
-
啊,stackoverflow.com/questions/10565475/… 可能会回答我的问题。直到我觉得自己不擅长搜索为止。