RxJava生命周期可观测

RxJava生命周期可观测,java,android,rx-java,observable,Java,Android,Rx Java,Observable,Interactor一直存在于应用程序中。 还有一些方法: //Interactor public Observable<Pair<Boolean, String>> getGiftPayPalObservable(Params params) { return session.getTokenObservable().flatMap(token -> { [1] if (params.getType() == Gi

Interactor一直存在于应用程序中。 还有一些方法:

 //Interactor
public Observable<Pair<Boolean, String>> getGiftPayPalObservable(Params params)
{
    return session.getTokenObservable().flatMap(token ->
    {
        [1]
        if (params.getType() == GiftCard)
        {
            return apiStorage.getGiftResult(token, params.getEmail());
        }
        else
        {
            return apiStorage.getPayPalResult(token, params.getEmail());
        }
    })
            .doOnError(Observable::error)
            .subscribeOn(getThreadExecutor().getBackgroundThread());
}

private final Session session;
我从ViewModel调用方法GetGiftPayPaloObservable。一切正常。但我摧毁了碎片。在那之后,我运行代码[2]注销,我将在我的代码中放置[1],但我的ViewModel目前还不存在。这就是为什么我得到了崩溃应用程序

我怎么可能到不了place[1]我可以退订吗


我无法避免使用会话。getTokenObservable()

我解决了如下问题:

  return session.getTokenObservable()
            .filter(token -> !token.equals(session.getNoToke()))
            .flatMap(token ->
有了帮助过滤器,当令牌为空时,我就不会进入[1]

  return session.getTokenObservable()
            .filter(token -> !token.equals(session.getNoToke()))
            .flatMap(token ->