Scala 使用Akka时丢弃的非单位值错误
我有Scala Play应用程序,我在类中调用Scala Akka调度程序,如下所示:Scala 使用Akka时丢弃的非单位值错误,scala,playframework,akka,Scala,Playframework,Akka,我有Scala Play应用程序,我在类中调用Scala Akka调度程序,如下所示: @Singleton 类Foo@Inject()( actorSystem:actorSystem, )(含蓄的 executionContext:executionContext, )扩展日志记录{ actorSystem.scheduler.schedule(延迟、间隔)(轮询器()) def轮询器():单位。。。 } 但我收到了这样的编译器警告 丢弃的非单位值 [错误]actorSystem.sche
@Singleton
类Foo@Inject()(
actorSystem:actorSystem,
)(含蓄的
executionContext:executionContext,
)扩展日志记录{
actorSystem.scheduler.schedule(延迟、间隔)(轮询器())
def轮询器():单位。。。
}
但我收到了这样的编译器警告
丢弃的非单位值
[错误]actorSystem.scheduler.schedule(延迟、间隔)(轮询器())
是否有方法抑制此操作或以某种方式对其进行编码以消除编译器错误?发生这种情况的原因是该方法返回一个实例以允许取消作业,但此代码忽略返回值。当设置编译器标志-Ywarn value discard
或-Wvalue discard
时,将发出警告。如果编译器还设置了-Xfatal警告
或-Werror
,则这些警告将变为错误
一种解决方法是显式忽略返回值,而不是隐式忽略:
val _ = actorSystem.scheduler.schedule(delay, interval)(poller())
发生这种情况的原因是该方法返回一个实例以允许取消作业,但该代码忽略返回值。当设置编译器标志-Ywarn value discard
或-Wvalue discard
时,将发出警告。如果编译器还设置了-Xfatal警告
或-Werror
,则这些警告将变为错误
一种解决方法是显式忽略返回值,而不是隐式忽略:
val _ = actorSystem.scheduler.schedule(delay, interval)(poller())