Я с удивлением обнаружил, что популярные в JS мире promise библиотеки практически не используются в андроиде (мне удалось найти только jdeferred, который не выглядит особо популярным).
С другой стороны, api обычно устроены так, что принимают кастомные колбэки, вместо работы со стандартными Future, поэтому использовать стандартные библиотеки (util.concurrent) тоже нельзя.
Как сообщество решает эту проблему?
PS пример кода: видимо из-за ограничений многопоточности и межпроцессного взаимодействия оч часто библиотеки (из стандартного андроид сдк и/или Google Play etc) страдают тем, что нужно выстраивать длинные цепочки колбэков, которые передают друг другу параметры. Что-то вроде этого:
lib.connect(new OnConnectCallback() {
void run {
lib.login(new OnLoginCallback() {
void run {
lib.stream(new OnStreamCallback() {
<...>
}
}
}
}
})