我有一系列网络请求,每个请求都需要 >10 秒。
为了让用户知道发生了什么,我提供了更新:
main = do putStr "Downloading the first thing... "
{- Net request -}
putStrLn "DONE"
putStr "Downloading the second thing... "
{- Net request -}
putStrLn "DONE"
使用 GHCi,这可以按预期工作,但是编译或使用 runghc,“下载”在“完成”之前不会打印。
我用 (>>=) 和 (>>) 重写了它,但我遇到了同样的问题。
这是怎么回事?