この質問の以前のバージョンでは要点がつかめなかったので、要約してみました。
Futureのmap関数は、以下に示すように ExecutionContext を取ります ( API 2.10.3から取得) 。
def map[S](f: (T) ⇒ S)(implicit executor: ExecutionContext): Future[S]
自分の ExecutionContext を渡したいのですが、成功しません。構文が正しくないようです。
ExecutionContext を Future のマップ関数に渡すにはどうすればよいですか?
私が持っているものは次のとおりです。
val executorService = Executors.newFixedThreadPool(9)
val executionContext = ExecutionContext.fromExecutorService(executorService)
def myFunction(mt : MyType): Unit = println("my function")
def getSomeFuture()(executor: ExecutionContext): Future[MyType] = {..}
// function is served by my execution context. A Future is returned.
val f = getSomeFuture()(executionContext)
// compiles if I provide the standard global execution context - sth. I do NOT want
f map (myFunction)
// does not compile
f map (myFunction)(executionContext)
// does not compile
f map (item => println("sth."))(executionContext)