result.map { res =>
val totaldocs: Int = res.value
// do something with this number
}
//val totaldocs = 60
val totalpages:Int = (totaldocs/ipp)+1
未找到編譯錯誤:值x但我已經聲明瞭它,我的實現有什麼問題,抱歉我是新玩框架和Scala編程語言。編譯錯誤沒有找到:值x但我宣佈它已經有什麼問題
result.map { res =>
val totaldocs: Int = res.value
// do something with this number
}
//val totaldocs = 60
val totalpages:Int = (totaldocs/ipp)+1
未找到編譯錯誤:值x但我已經聲明瞭它,我的實現有什麼問題,抱歉我是新玩框架和Scala編程語言。編譯錯誤沒有找到:值x但我宣佈它已經有什麼問題
,我會說這條線的問題是:
val totalpages:Int = (totaldocs/ipp)+1
因爲totaldocs
只在map
範圍內定義
也許你想要的東西,如:
private def getTotalPages(query:BSONDocument, ipp:Int) (implicit ec: ExecutionContext) = {
val key = collectionName + ":" + BSONDocument.pretty(query)
Logger.debug("Query key = "+key)
val command = Count(query)
val result: Future[CountResult] = collection.runCommand(command)
result.map { res =>
val totaldocs: Int = res.value
// do something with this number
val totalpages:Int = (totaldocs/ipp)+1
Logger.debug(s"Total docs $totaldocs, Total pages $totalpages, Items per page, $ipp")
totalpages
}
}
但現在它會返回一個Future [Int],你將不得不在處理調用者的未來。
注意:這僅僅是一個解決方案,這取決於你的代碼,可能不是最充分的一個
可以提供完整的編譯器輸出?用行 – pedrorijo91
這段代碼中沒有提到'x'。它會給出一個不同的錯誤。當詢問編譯錯誤時,請務必確保您使用的是相同版本的代碼,從而爲您提供錯誤,並提供完整的消息。 –
我更新了我的問題 – kn3l