我对Conduit的inputString
感兴趣。
任何人都可以解释为什么会发生这种情况,特别是我如何toString()
这样一个可选值,或者我如何编写可以做到的生产者/来源?
答案 0 :(得分:4)
上游源耗尽后,await
管道将开始返回Nothing
作为结果,从现在开始不会返回Nothing
以外的任何内容。它表示上游管道的终止,因此您可以完成一些最终工作。
另一端yieldOr
表示下游接收器/导管的终止。简单的yield
实现为\o -> yieldOr o (return ())
,您可以将return ()
替换为最终验证码。
如果您在此管道中没有完成任务,那么您可以改为使用awaitForever
。
你可能有的所有问题都是在管道包的作者编写的教程中得出的,我建议首先阅读:Conduit Overview