我想这样写purescript-timers。
main = do
t <- interval 10 $ do
clearInterval t
发生错误
未知值 t
您可以使用 aRef来存储和读取 ID。
main = do
idRef ← Ref.new (-1)
id ← interval 10 (Ref.read idRef >>= clearInterval)
Ref.write id idRef
您的程序无法编译的原因t是仅在活页夹之后的范围内。换句话说,do-block后面的任何语句都可以使用t,但之前的语句不能使用,语句本身也不能使用t。
在这个解决方案中Ref,因为idRef预先绑定在一个语句中,所以它可以在后面的语句中的任何地方使用。