Если вы хотите установить обратные вызовы обратно, как пример javascript, который вы обновили, вам нужно использовать Future
API для достижения той же цепочки обратных вызовов, что и пример javascript.
Future
kotlin / java / dart эквивалентно Promise
в JS.
Но В kotlin Future
, Promise
и coroutine
все доступно. coroutines
рекомендуется для достижения тех же результатов.
Вы можете обратиться к этим статьям для более подробной информации:
Однако, если вы хотите объединить вызовы функций для нескольких методов в своем классе, вы можете использовать подход Builder Pattern
при определении вашего functions.
В этом шаблоне все методы установки возвращают экземпляр класса. Например:
class BankAccountBuilder(name:String, accountNumber:String) {
private val name:String
private val accountNumber:String
private val email:String
private val newsletter:Boolean = false
init{
this.name = name
this.accountNumber = accountNumber
}
fun withEmail(email:String):BankAccountBuilder {
this.email = email
return this
}
fun wantNewsletter(newsletter:Boolean):BankAccountBuilder {
this.newsletter = newsletter
return this
}
fun build():BankAccount {
return BankAccount(this)
}
}
Теперь вы можете просто вызывать несколько сеттеров следующим образом:
BankAccount.BankAccountBuilder("Jon", "22738022275")
.withEmail("jon@example.com")
.wantNewsletter(true)
.build()
аналогично любым функциям, которые вы хотите вызвать в экземпляре, просто заставьте их возвращать instance
сам. вам не нужно реализовывать весь этот шаблон.