У меня есть интерфейс
private interface WithTokenExecutor<T> {
fun execute(token: Token): Single<T>
}
и функция withToken, которая асинхронно получает токен доступа, а затем возвращает выполненный параметр WithTokenExecutor
с новым токеном.
private fun <T> withToken(executor: WithTokenExecutor<T>): Single<T> {
return essentialApiTokenProvider.getTokenObservable(true) // returns an observable with the token
.flatMap { token -> executor.execute(token)) }
}
Затем я вызываю функцию: тип возвращаемого значения функций withToken и WithTokenExecutor является стандартным c?
Я пытался сделать это:
return withToken({ token -> api.getDetails(token) })
, но компилятор говорит:
Type inference failed: fun <T> withToken(executor: StoreManager.WithTokenExecutor<T>):Single<T> cannot be applied to ((???) -> Single<AppsList>)
Есть ли способ явного определения возврата тип этих функций при сохранении лямбды?