V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
likaci
V2EX  ›  问与答

ReactiveX 中怎样把一个 Observable 的结果作为另一个 Observable 的输入?

  •  
  •   likaci · 2015-08-26 16:14:00 +08:00 · 2149 次点击
    这是一个创建于 3173 天前的主题,其中的信息可能已经有所发展或是发生改变。


    谢谢
    10 条回复    2015-08-27 11:16:17 +08:00
    xudshen
        1
    xudshen  
       2015-08-26 16:29:56 +08:00   ❤️ 1
    你这不就是连起来写么,
    likaci
        2
    likaci  
    OP
       2015-08-26 17:13:47 +08:00
    @xudshen 主要是想像串糖葫芦一样,一块就连起来
    不想写在回调里嵌套
    xudshen
        3
    xudshen  
       2015-08-26 17:20:48 +08:00   ❤️ 1
    @likaci RxJava 就是这样子的惹

    实在不想这样可以封装一下用 BlockingObservable ,然而我觉得现在这种方式反而逻辑更清楚些

    (题外:用 Java 8 lambda 代码看上去就会简洁好多了惹)
    likaci
        4
    likaci  
    OP
       2015-08-26 17:39:31 +08:00
    @xudshen 多谢指点,我想要的效果是:
    Observable1 (监视输入).filter (无效输入).XXX (搜索词).Observable2 (搜索).subscribe (更新 UI )
    把文档里的操作符看了一遍, 似乎没有合适的 XXX 方法
    xudshen
        5
    xudshen  
       2015-08-26 17:56:44 +08:00   ❤️ 1
    我明白了,试试这样

    WidgetObservable.text (...)
    .debounce (...)
    .observeOn (...)
    .filter (...)
    .map (new Func1<String, Suggestion>() {
    @Override
    public Suggestion call (String s ) {
    return BlockingObservable.from (Search.getInstance ().getSearchSuggestion (s )).first ();
    }
    })
    .subscribe (...)
    xudshen
        6
    xudshen  
       2015-08-26 17:57:11 +08:00
    缩进都没了,大致的意思可以看
    StackGao
        7
    StackGao  
       2015-08-27 10:37:40 +08:00
    @xudshen
    @likaci

    请问 rxjava 应该用什么姿势导入 idea/android studio ?



    折腾一天了, offline gradle 不行, 挂 vpn 也是无限 build..
    xudshen
        8
    xudshen  
       2015-08-27 10:41:23 +08:00
    @StackGao https://github.com/ReactiveX/RxJava

    一般使用用 Binary 就可以了吧
    StackGao
        9
    StackGao  
       2015-08-27 10:54:58 +08:00
    @xudshen 感谢回复!

    我就是 clone https://github.com/ReactiveX/RxJava 这个到 ide 里想看看源码但是一直 build 不成功.

    没有办法的话我也直接用 Binary 吧.. 谢谢了 : )
    xudshen
        10
    xudshen  
       2015-08-27 11:16:17 +08:00
    @StackGao 话说你们都用 java8 了么,我最近也想迁过去惹
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2290 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 05:26 · PVG 13:26 · LAX 22:26 · JFK 01:26
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.