当我试图DBObject
通过插入批量加载一个列表时,我得到了no implicit view available
.
collection.insert(listObjects) // listObjects is a List[DBObject]
[error]Test.scala:139: No implicit view available from List[com.mongodb.casba
h.Imports.DBObject] => com.mongodb.casbah.Imports.DBObject.
Run Code Online (Sandbox Code Playgroud)
这个错误是什么意思?我怎么解决?
参考:
def insert [A] (docs: List[A])(implicit arg0: (A) ? DBObject) : WriteResult
阻止坏,异步好,但在未来阻止仍然阻塞?这是我不断回归的事情; 考虑遵循伪代码:
def queryName(id:Id):Future[String]
def queryEveryonesNames:Future[Seq[String]] = {
val everyonesIds:Future[Seq[Id]] = getIds
val everyonesNames:Future[Seq[Future[String]]] = {
everyonesIds.map(seq.map(id=>queryName(id)))
}
// I'm trying to understand the impact of what I'll do below
everyonesNames.map(seq=>seq.map(fut=>blocking(fut, 1 s)))
}
queryEveryonesNames
Run Code Online (Sandbox Code Playgroud)
在最后一行我接通Future[Seq[Future[String]]]
(通知将来内将来)进入Future[Seq[String]]
由阻塞在内部未来.
阻碍未来的未来感觉多余,至少在这里,但在未来拥有未来也感到多余.
你能提出一种更聪明的方式摆脱内心的未来吗?
你认为阻碍未来的未来是坏事吗?如果是这样的原因和在什么情况下?
scala ×2
asynchronous ×1
blocking ×1
casbah ×1
concurrency ×1
future ×1
implicit ×1
mongodb ×1