我想要执行一个在scala中执行的传递函数。像Java世界中的Functor。
我是javascript,我会这样做
Molo
我在下面的scala中尝试过相同的(但是使用Java Thread),它不能工作
function g(f, data) {
f()
}
g(function(){
console.log('I must be printed')
}, 1000)
输出
完成g 我在线程地狱内打印
但是没有执行传递的函数。
答案 0 :(得分:0)
val task = new TimerTask {
override def run(): Unit = {
println("I'm printed in g inside thread hell")
f("")
}
}
如果你想执行函数应该像:f()
,
但是对于(id : String) => {println("I must be printed in g.")}
这个函数,它应该需要一个参数来执行,例如:f(parameter)