如何在时间间隔中使用自定义类作为Observable和fire方法

Lan*_*erX 5 java observable rx-java

我有一个类Producer,简化它有方法public Object readData() 我想把这个类作为Observable(RxJava).

如何指出应该调用哪种方法?我是否需要将Producer课程改为FutureIterable

下一个问题是readData应该每隔n秒调用一次.一些方法,例如来自,有调度程序参数,但我找不到任何示例如何应用它.我找到了区间方法,但它发出了一系列整数.到目前为止,没有Observable我使用Executors.newSingleThreadScheduledExecutor().scheduleWithFixedDelay(....)

Dav*_*ten 3

您仍然可以使用该interval()方法,只需忽略它的结果即可!

final Producer producer = ...;
int n = ...;
Observable<Object> obs = 
    Observable.interval(n,TimeUnit.SECONDS)
              .map(new Func1<Integer,Object>() {
                  @Override
                  public Object call(Integer i) {
                      return producer.readData();
                  }
               ));
Run Code Online (Sandbox Code Playgroud)