Haskell Yesod 和 writeFile
Haskell Yesod and writeFile
我正在尝试学习 Yesod 并尝试实现一个简单的 REST 应用程序,每次我收到 GET 请求时,我都会向文件写入一些内容。现在我有以下处理函数:
getTestR =
do
return $ writeFile "test.txt" "Just something"
return $ object ["result" .= "Ok"]
我期待的是文件 test.txt
将被创建,我将获得 JSON 和 {result=Ok}
。但是,我正在获取 JSON,但未创建文件。
我猜 writeFile
没有被评估是因为惰性评估,但我不知道如何解决这个问题。提前致谢。
只需使用 liftIO
:
getTestR =
do
liftIO $ writeFile "test.txt" "Just something"
return $ object ["result" .= "Ok"]
我正在尝试学习 Yesod 并尝试实现一个简单的 REST 应用程序,每次我收到 GET 请求时,我都会向文件写入一些内容。现在我有以下处理函数:
getTestR =
do
return $ writeFile "test.txt" "Just something"
return $ object ["result" .= "Ok"]
我期待的是文件 test.txt
将被创建,我将获得 JSON 和 {result=Ok}
。但是,我正在获取 JSON,但未创建文件。
我猜 writeFile
没有被评估是因为惰性评估,但我不知道如何解决这个问题。提前致谢。
只需使用 liftIO
:
getTestR =
do
liftIO $ writeFile "test.txt" "Just something"
return $ object ["result" .= "Ok"]