Это больше идиоматический Scala для передачи ExecutionContext
для каждого метода, например
class Foo {
def bar(a: Int, b: Int)(implicit ec: ExecutionContext): Future[Int] = {
Future(a + b)
}
def baz(a: Int, b: Int)(implicit ec: ExecutionContext): Future[Int] = {
Future(a - b)
}
}
или лучше для передачи ExecutionContext
для класса, такого как
class Foo(implicit ec: ExecutionContext) {
def bar(a: Int, b: Int): Future[Int] = {
Future(a + b)
}
def baz(a: Int, b: Int): Future[Int] = {
Future(a - b)
}
}
Является ли один стиль обычно более предпочтительным в мире Scala, потому что он вызывает меньше сюрпризов, его легче читать или по другим причинам? Пожалуйста, дайте несколько ссылок, если это возможно.