AsyncTwitter
Scalaアプリから使いたいです。慣用的な Scala のように見えるように先物でラップする方法はありますか? それとも、同期のものを非同期に変換するための先物が本当にあるのでしょうか (つまり、既に非同期になっている関数には役に立ちません)。
いずれにせよ、Scala で非同期の Twitter ステータス更新を行う最も慣用的な方法は何ですか?
AsyncTwitter
コードを先物でラップしますか?- 将来的に同期コードをラップしますか?
- 未来を忘れて、以下のコードを Scala で書き直してください。
そして (特に #1 が答えの場合) 最終的なコードはどのようになりますか?
これが私が疑問に思っているコードです: http://twitter4j.org/en/code-examples.html#asyncAPI
TwitterListener listener = new TwitterAdapter() {
@Override public void updatedStatus(Status status) {
System.out.println("Successfully updated the status to [" +
status.getText() + "].");
}
@Override public void onException(TwitterException e, int method) {
if (method == TwitterMethods.UPDATE_STATUS) {
e.printStackTrace();
} else {
throw new AssertionError("Should not happen");
}
}
}
// The factory instance is re-useable and thread safe.
AsyncTwitterFactory factory = new AsyncTwitterFactory(listenrer);
AsyncTwitter asyncTwitter = factory.getInstance();
asyncTwitter.updateStatus(args[0]);
#2は答えではないと思います。なぜなら、同期スレッドが中断されているというオーバーヘッドにまだ悩まされているからですよね?