我有以下连接代码-
private val authorization = App.context?.getSharedPreferences(authorizationPrefs, Context.MODE_PRIVATE)?.getString(authorizationToken, defaultStringValue)
var hubConnection: HubConnection? = null
fun startConnection() {
if (hubConnection != null) return
hubConnection = HubConnectionBuilder.create(Constants.twoverteBaseUrl.plus(SignalREndpoints.accessSecureChatQuery))
.withHeader("Authorization", authorization).build().apply { start() }
}
我想知道连接的确切时间,所以我想念一下,如果在start()
之后放置代码,我会得到connectionState为DISCONNECTED
,因为它尚无连接时间。
我确定有一个回调。
我如何在此处放置connectionState回调?
hubConnection.start()返回RxJava Completable,因此,如果您想在连接启动后执行操作,则需要订阅Completable并在完成时运行一些代码。
示例:
hubConnection.start().subscribe(() -> {
// connected
},
error -> {
// error
});