Используя Twitter Future
в Java, как я могу получить контекст в одном созданном Future
доступном по цепочке map
s?
Я попробовал следующее, используя Contexts.local()
:
LocalContext.Key<String> key = Contexts.local().newKey();
Contexts.local().let(key, "SomeValue", func(() -> {
System.out.println("inside let binding " + Contexts.local().get(key));
return FuturePools.unboundedPool().apply(() -> {
System.out.println("inside let binding but in other thread " + Contexts.local().get(key));
return "initial future";
});
})).map(v -> {
// How to get the context here? The line below prints None
System.out.println("outside let binding " + Contexts.local().get(key));
return "mapped future";
});
К сожалению, заданное значение больше не доступно в лямбда-выражении, переведенном в map
.Что мне делать, чтобы он там тоже был доступен?И как мне сделать это в Java?
Например, в Twitter Promise
реализация map
делает Local.save()
, но я не вижу способа добавить значения к Local
.