我正在尝试学习Yesod并尝试实现一个简单的REST应用程序,每当我收到 GET 请求时,我都会向文件写入内容。现在我有以下处理函数:
getTestR =
do
return $ writeFile "test.txt" "Just something"
return $ object ["result" .= "Ok"]
我期待的是文件test.txt
将被创建,我将获得一个{result=Ok}
的JSON。但是,我正在获取JSON,但文件未创建。
我认为由于懒惰的评估,writeFile
没有被评估,但我不知道如何克服这个问题。提前谢谢。
答案 0 :(得分:1)
只需使用liftIO
:
getTestR =
do
liftIO $ writeFile "test.txt" "Just something"
return $ object ["result" .= "Ok"]