Action
फ्यूचर्स के साथ काम करने के लिए डिज़ाइन नहीं किया गया है। Action.async
. का उपयोग करें , जो भविष्य के समाप्त होने के लिए "प्रतीक्षा" (तकनीकी रूप से प्रतीक्षा नहीं, बल्कि शेड्यूल) करेगा:
def rect(swLon: Float, swLat: Float, neLon: Float, neLat: Float) = Action.async {
val sb = new StringBuilder()
sb.append("<tt>boundingBox: swLon=" + swLon + ", swLat=" + swLat + ", neLon=" + neLon + ", neLat=" + neLat + "</tt>")
if (oDb.isDefined) {
val collection: MongoCollection[Document] = oDb.get.getCollection(collectionName)
val fut = getFutureOne(collection) // returns a Future[Seq[Document]]
fut.map {docs =>
setMongoJson(doc.toJson)
Ok(sb.toString)
} recover {
case e => BadRequest("FAIL: " + e.getMessage)
}
} else Future.successful(Ok("Not defined"))
}
संदर्भ के लिए इसे देखें:https://www.playframework.com/documentation /2.4.x/ScalaAsync