创建一个接受参数的 Observable

Create an Observable that would accept arguments

创建能够接受参数的 Observable 的正确方法是什么?

例如,我可以参数化 http 请求

你可以使用 Observable.create

public static Observable<String> createMyObservable(final String all, final Integer my, final Boolean parameters) {
    return new Observable.create(new Observable.OnSubscribe<String>(){

        @Override
        public void call(Subscriber<? super String> subscriber) {
            // here you have access to all the parameters you passed in and can use them to control the emission of items:

            subscriber.onNext(all);
            if (parameters) {
                subscriber.onError(...);
            } else {
                subscriber.onNext(my.toString());
                subscriber.onCompleted();
            }
        }
    });
}

请注意,所有参数都必须声明为 final,否则代码将无法编译。

如果您希望您的输入参数随时间变化,它们本身可能是一个 Observable,您可以使用 combineLatestzip 将它们的值与您的其他 observable 组合,或者可能 mapflatMap 根据输入的 Observables 的值创建新的 Observables。