Java中的Pusher Chatkit Connect回调

时间:2019-02-14 03:42:53

标签: java pusher chatkit

我正在尝试从SDK网站https://docs.pusher.com/chatkit实现Pusher ChatKit。我宁愿将代码完全保留在Java中。

在示例中,有以下代码块:

chatManager.connect { result ->
  when (result) {
    is Result.Success -> {
      // We have connected!
      currentUser = result.value // CurrentUser
    }

    is Result.Failure -> {
      // Failure
      handleConnectionError(result.error)
    }
  }
}

但是,以上代码是用Kotlin编写的。在我自己的代码中,即使mCurrentUser方法运行后,chatManager.connect也为空。

我已将Android Studio升级为运行Java 8,并且尝试使用以下代码:

                chatManager.connect(result -> {
                    if (result instanceof Result.Success) {
                        mCurrentUser = ((Result.Success<CurrentUser, Error>) result).getValue();
                    }
                    if (result instanceof Result.Failure) {
                        System.out.print(result);
                    }
                    return Unit.INSTANCE;
                });

当我逐步使用调试器时,将跳过整个块。 connect方法记录成功的连接,但是result始终为null。有人可以告诉我如何使用侦听器编写相同的回调吗?或者,让我看看我的lambda表达式问题。

顺便说一下,chatManager.connectFunction1<? super Result<CurrentUser, Error> Unit> callback作为参数。提前致谢。我已经坚持了两天。

0 个答案:

没有答案