如何在scala中创建一个简单的暂停/超时

tje*_*sen 1 timeout scala akka

我正在使用一些预先存在的scala代码,并且我试图在延迟30秒后执行特定部分的代码.执行类似于javascript的setTimeout.最简单的方法是什么?

我一直在看aka.util.timeout类,但我对scala和akka很新,我不确定如何实现它.

moh*_*hit 6

我不确定你在问什么,但如果你使用的是akka,那么你可以使用akka调度程序.

 system.scheduler().scheduleOnce(30 seconds, testActor, "foo");
Run Code Online (Sandbox Code Playgroud)

testActor将包含将在testActor收到foo消息时运行的代码.调度程序有很多选项,你可以运行一次,每30秒左右等,而且,它将是一个非阻塞的反应代码.