Haskell 在Snap中刷新部分响应
我想要这样的东西Haskell 在Snap中刷新部分响应,haskell,haskell-snap-framework,Haskell,Haskell Snap Framework,我想要这样的东西 {-# LANGUAGE OverloadedStrings #-} import Control.Concurrent (threadDelay) import Control.Monad.IO.Class import Snap.Core import Snap.Http.Server main :: IO () main = quickHttpServe site site ::
{-# LANGUAGE OverloadedStrings #-}
import Control.Concurrent (threadDelay)
import Control.Monad.IO.Class
import Snap.Core
import Snap.Http.Server
main :: IO ()
main = quickHttpServe site
site :: Snap ()
site = do
writeBS "testing\n"
liftIO $ threadDelay (1000 * 1000 * 5)
writeBS "one two three"
除了我想在编写
测试\n
之后立即刷新响应之外。应该很简单,但我的谷歌搜索技能让我失望。我想你需要使用Snap.Core
的addToOutput
下拉到Snap.Iteratee
和enumerator
。write*
函数在blaze Builder中缓冲了所有内容。我也这么认为,但没有捕捉丢弃的迭代对象并使用io流吗?很遗憾,我找不到新的流式api的任何文档。