异步流式结果的抽象

时间:2017-03-12 18:10:48

标签: haskell asynchronous stream

进行异步调用时,有多种方法可以传回结果。一个很好的抽象是[Async],它允许检索输出值,放弃(cancel),错误检查,将值组合在一起等等。

是否有类似的,很好的抽象来返回异步结果流?也就是说,被调用的服务异步发送多个值,然后是最终结果?类似于gRPC的server-side streaming

虽然 stm 提供频道,队列等,但它们意味着无限,无法完成/取消。

可能我认为最接近的抽象是ConduitM Void o IO r,但这适用于同步计算。可能它也可以将内部通道包装在其中以使其异步,但 conduit 似乎是为此目的而非常依赖的。

0 个答案:

没有答案