我想异步插入大量样本数据。我用了这段代码:
def insertSampleData(count: Int): Future[LastError] = {
if (count > 0) {
val future = defaultService.save(... /*sample data*/)
future flatMap { _ =>
insertSampleData(count - 1)
}
} else {
Future.successful(.../* Empty */)
}
}
val result = insertSampleData(1000000) map { _ =>
"Inserted"
}
result
是Future[String]
,在插入所有项目时返回“已插入”。
表现还可以吗?还有其他办法吗?