Scala の Future と Promise で Android の Callback 地獄を緩和した話

Android というより Java のライブラリで頻出する Callback パターン呼び出し連鎖

def setImage(id: Stiring) = {
  User.load(id, new OnLoadCallback {
    override def onSuccess(userJson: String) {
      Json.parse[User](userJson, new JsonParseCallback {
        override def onSuccess(user: User) {
          Image.load(user.imageUri, new OnLoadCallback {
            override def onSuccess(image: Image) {
              view.setImage(image)
            }
          }
        }
      }
    }
  }
} // >つらい<

みたいのを Scala 標準のライブラリに含まれる Future と Promise で殺す話。
いわゆる Listener についてはこの方法だと解決しないので、このへんを参照してほしい。

“Scala の Future と Promise で Android の Callback 地獄を緩和した話” の続きを読む

広告