这是我的信息流:
public Completable changeUserPassword(String oldPass, String newPass){
return firebaseAuthRepositoryType.getCurrentUser()
.flatMapCompletable(fu -> firebaseAuthRepositoryType.reAuthenticateUser(fu,fu.getEmail(),oldPass)
.andThen(firebaseAuthRepositoryType.changeUserPassword(fu, newPass)))
.observeOn(AndroidSchedulers.mainThread());
}
问题andThen()
中的函数从不调用onComplete()
?流被“卡在”那里。 changeUserPassword()
的返回类型为Completable
。
出于调试目的,我试图将andThen()
内部的功能更改为Completable.complete()
,但是我看到了相同的行为。它仍然永远不会“完成”并陷入andThen()
我在这里错过了什么吗?有什么建议吗?
该流应该是:
答案 0 :(得分:1)
Firebase因其永无止境的序列而臭名昭著,因此,如果firebaseAuthRepositoryType.getCurrentUser()
是Observable
或Flowable
,极有可能Single
从未完成。将其更改为take(1)
或使用PyObject *list = PyList_New(PREALLOC_SIZE(maxcount));
来获得一个用户。