value onSuccess 不是 scala.concurrent.Future[Any] 的成员



我想从URL发出请求,但遇到问题:

val f: Future[Any] = actor1 ? SyncRequest(url)
f.onSuccess {
case feed: xml.Elem => 
val feedInfo = FeedInfo(
((feed  "channel")  "title").headOption.map(_.text).get,
((feed  "channel")  "description").headOption.map(_.text),
((feed  "channel") \ "item").map(item =>
FeedItem((item  "title").headOption.map(_.text).get,
(item  "link").headOption.map(_.text))
).toList
)
complete(feedInfo)

这是错误:

[error] value onSuccess is not a member of scala.concurrent.Future[Any]
[error]                 f.onSuccess {
[error]                     ^
[error] one error found
[error] (Compile / compileIncremental) Compilation failed

也许我必须使用类似OnComplete而不是OnSuccess的东西?

onSuccess方法在 Scala 2.12 中被弃用,在 Scala 2.13 中被删除

@deprecated("改用foreachonComplete(请记住 它们采用全部函数而不是部分函数(","2.12.0"(

你最好的朋友现在onComplete

f.onComplete {
case Success(value) => ???
case Error(ex) => ???
}

最新更新