我想通过使用scalaz流来解析无限的URL。模板网址响应如下所示:
{
nextUrl: "nextUrl"
}
我正在考虑使用scalaz Stream进行无限解析。我将使用的方法是Process.repeatEval。但是,由于下一个链接嵌入在当前URL中,因此执行起来有点困难。因此,我创建了一个自定义迭代器,这里有一些伪代码
class Iterator {
var currentUrl = null //state...
def hasNext(): Boolean
def next(): UrlContent
}
Process.repeatEval(Task {iterator}).takeWhile(_.hasNext()).map(_.next()).run.run
它正在工作,但我不喜欢这个,因为迭代器有状态,我试图删除可变值的使用。
回到我的问题,我是否正在从scalaz流中寻找合适的选择(Process.repeatEval)。如果是,我应该使用这个自定义迭代器。
非常感谢提前