Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 在Snap中刷新部分响应_Haskell_Haskell Snap Framework - Fatal编程技术网

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的任何文档。