你可以用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();
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
请注意,所有参数必须声明为final或代码不会编译.
如果您希望输入参数随时间变化,它们本身可能是Observable,您可以使用combineLatest或zip将它们的值与其他observable组合,或者可能map或者flatMap根据输入Observables的值创建新的Observable.
| 归档时间: |
|
| 查看次数: |
3128 次 |
| 最近记录: |