私はこれを理解するために持っています:
val seq = for {
accessToken <- EitherT(getAccessToken(code))
data <- EitherT(getDefaultData(accessToken))
user <- EitherT(mapUser(data.getResponseBody))
} yield {
if (Users.getUserByOriginId(user.origin).isEmpty) {
Users.register(user)
OAuthProvider.redirectToSignUp(user.userId.get)
} else {
OAuthProvider.redirectToAuthentication(user.userId.get)
}
}
操作を連鎖com.twitter.util.Future
させ、各メソッドがFuture[\/[InvalidResponse, CorrectResponse]]
私は今、結果を超えたいと思ってmap
います。match
val response = seq.run match {
case x.left => "something"
case y.right => "something else"
}// this syntax is invalid
とのmatch
間の正しい構文は何ですか?left
right