【发布时间】:2018-01-03 18:40:53
【问题描述】:
我正在尝试使用 fs2 流 0.10.0-M9 和 doobie 版本 0.5.0-M9 从 http 调用中获取一系列对象,然后将其插入到 postgres 数据库中,但我遇到了问题构造此代码,得到以下错误:
错误:(49, 12) 无法证明 Seq[fs2.Stream[cats.effect.IO,Int]] <: fs2.stream .join>
一旦对 Web 服务的调用返回,我想要做的是同时运行插入语句。代码如下:
fetchProducts(date).map{items =>
items.map( i =>
Stream.eval(upsertProductIO(i).transact(xa))
)
}
.join(100)
.run
.unsafeRunSync()
//rest call
def fetchProducts(changeDate: String): Stream[IO, Seq[Product]] = {
//rest call here
}
//DAO code
def upsertProductIO(p: Product): ConnectionIO[Int] = {
upsertProduct(p).run
}
【问题讨论】:
-
何塞,您能不能说一下您使用的是哪些版本的库?版本之间似乎存在重大差异。
-
添加版本 fs2 0.10.0-M9 和 doobie 0.5.0-M9
标签: scala scala-cats scalaz-stream fs2