我会根据当前值更新行为(Cell / Val)。
但以下代码会在 MVar 操作异常中引发无限期阻塞的线程。
我预计它会打印三倍的“我的价值:”。我错过了什么?- 谢谢。
{-# LANGUAGE RecursiveDo #-}
module Main where
import FRP.Sodium
main :: IO ()
main = do
(e, t) <- sync newEvent
rec
b <- sync $ hold 0 $ snapshot (\_ i -> i + 1) e b
sync $ listen (value b) (\i -> putStrLn $ "value of i: " ++ show i)
sync $ t "ping"
sync $ t "ping"
sync $ t "ping"
return ()
- GHCi,版本 7.8.3
- 钠-0.11.0.3