Conduit的“等待”收到了Maybe。为什么?怎么样?

时间:2016-02-20 03:47:51

标签: haskell conduit

我对Conduit的inputString感兴趣。

任何人都可以解释为什么会发生这种情况,特别是我如何toString()这样一个可选值,或者我如何编写可以做到的生产者/来源?

1 个答案:

答案 0 :(得分:4)

上游源耗尽后,await管道将开始返回Nothing作为结果,从现在开始不会返回Nothing以外的任何内容。它表示上游管道的终止,因此您可以完成一些最终工作。

另一端yieldOr表示下游接收器/导管的终止。简单的yield实现为\o -> yieldOr o (return ()),您可以将return ()替换为最终验证码。

如果您在此管道中没有完成任务,那么您可以改为使用awaitForever

你可能有的所有问题都是在管道包的作者编写的教程中得出的,我建议首先阅读:Conduit Overview