我想这样写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
预先绑定在一个语句中,所以它可以在后面的语句中的任何地方使用。