如何在RxJS或Angular2中的Observables中放置订阅过滤器?

tomriddle_1234

我是反应式编程的新手,试图理解这里的想法。我在这里遇到了一个问题,似乎已经解决了,但是给我留下了更多的问题,其中一个是过滤器。这是我从olsn的答案中借来的一些代码,

function myLoop(item_array) {
    return Observable.from(item_array)
        // if you don't mind the execution-order you can use "mergeMap" instead of "concatMap"
        .concatMap(item => configHardwareMock(item)
            .switchMap(resultId => Observable.interval(500)
                .do(() => console.info("Checking status of: " + resultId))
                .switchMap(() => intervalCheckingStatus(resultId))
                .filter(status => Boolean(status)) // your logic if the status is valid, currently just a boolean-cast
                .take(1) // and complete after 1 value was valid
                .mapTo(item) // map back to "item" so we can notify the subscriber (this is optional I guess and depends on if you want this feature or not)
            )
        );
}

//an example of such boolean from olsn
function intervalCheckingStatus(resultId) {
  if (Math.random() < .4) {
    return Observable.of(false);
  }

  return Observable.of(true);
}

我想我明白了一些工具类的语句中concatMaptakefrom等现在是.filter(status => Boolean(status)),如果我有什么把另一个严重的REST API请求/通讯在这个布尔函数,可以有另一个subscrible()在那里的代码。它会破坏这种过滤器吗?事物(事件)以什么顺序运行?这是正常的硬件通信,还是我应该使其不异步(因为它是不是那么强大的硬件)?

niction90

要回答您的问题-您不能在filter()中放置另一个subscription()。(订阅将运行,但不会对过滤器产生任何影响)

如果要执行另一个异步功能(例如REST API调用)以确定要过滤的值,则需要将其与.flatmap()运算符链接在一起

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 angular2 中创建独特的过滤器过滤器组件

来自分类Dev

如何在Angular2中实现“类别过滤器”

来自分类Dev

如何在表的第一行中放置YADCF过滤器

来自分类Dev

Angular2过滤器问题

来自分类Dev

在Angular2中,如何检测到过滤器/管道未返回任何结果

来自分类Dev

如何使用rxjs中的过滤器

来自分类Dev

如何在Angular中创建过滤器组件

来自分类Dev

如何过滤activatedRoute.queryParams并根据过滤器订阅不同的observables

来自分类Dev

如何在Angular 2中实现rxjs订阅?

来自分类Dev

Angular2在服务内部应用过滤器

来自分类Dev

Angular2管道过滤器的最佳命名方式

来自分类Dev

输入上的Angular2过滤器管道

来自分类Dev

angular2 - 剑道过滤器不起作用

来自分类Dev

如何在jquery内容中连接两个过滤器?过滤器 1 和过滤器 2 连接结果

来自分类Dev

如何在Angular2中取消订阅

来自分类Dev

如何在angular2中订阅组件变量

来自分类Dev

如何在angular2中获取订阅数据的值

来自分类Dev

Angular 中的过滤器

来自分类Dev

如何在 Angular 2 中使用 Angular 1.x 的过滤器?

来自分类Dev

如何在Tableau中的过滤器条件公式中将“过滤器”设置为“全部”?

来自分类Dev

带有内部地图订阅的 Angular2 rxjs switchMap 发出多个 observables

来自分类Dev

我应该在连接条件中还是在先前的 CTE 中放置行号过滤器?

来自分类Dev

如何在Angular / Jasmine中模拟自定义过滤器

来自分类Dev

如何在不创建过滤器的情况下在Angular JS中反转数组

来自分类Dev

如何在Angular.js中为我的Json数据设置初始过滤器?

来自分类Dev

如何在angular.js中动态应用自定义过滤器?

来自分类Dev

如何在Angular js中返回HTML代码作为过滤器的输出

来自分类Dev

如何在Angular.js中为我的Json数据设置初始过滤器?

来自分类Dev

如何在Angular表达式中处理过滤器

Related 相关文章

  1. 1

    如何在 angular2 中创建独特的过滤器过滤器组件

  2. 2

    如何在Angular2中实现“类别过滤器”

  3. 3

    如何在表的第一行中放置YADCF过滤器

  4. 4

    Angular2过滤器问题

  5. 5

    在Angular2中,如何检测到过滤器/管道未返回任何结果

  6. 6

    如何使用rxjs中的过滤器

  7. 7

    如何在Angular中创建过滤器组件

  8. 8

    如何过滤activatedRoute.queryParams并根据过滤器订阅不同的observables

  9. 9

    如何在Angular 2中实现rxjs订阅?

  10. 10

    Angular2在服务内部应用过滤器

  11. 11

    Angular2管道过滤器的最佳命名方式

  12. 12

    输入上的Angular2过滤器管道

  13. 13

    angular2 - 剑道过滤器不起作用

  14. 14

    如何在jquery内容中连接两个过滤器?过滤器 1 和过滤器 2 连接结果

  15. 15

    如何在Angular2中取消订阅

  16. 16

    如何在angular2中订阅组件变量

  17. 17

    如何在angular2中获取订阅数据的值

  18. 18

    Angular 中的过滤器

  19. 19

    如何在 Angular 2 中使用 Angular 1.x 的过滤器?

  20. 20

    如何在Tableau中的过滤器条件公式中将“过滤器”设置为“全部”?

  21. 21

    带有内部地图订阅的 Angular2 rxjs switchMap 发出多个 observables

  22. 22

    我应该在连接条件中还是在先前的 CTE 中放置行号过滤器?

  23. 23

    如何在Angular / Jasmine中模拟自定义过滤器

  24. 24

    如何在不创建过滤器的情况下在Angular JS中反转数组

  25. 25

    如何在Angular.js中为我的Json数据设置初始过滤器?

  26. 26

    如何在angular.js中动态应用自定义过滤器?

  27. 27

    如何在Angular js中返回HTML代码作为过滤器的输出

  28. 28

    如何在Angular.js中为我的Json数据设置初始过滤器?

  29. 29

    如何在Angular表达式中处理过滤器

热门标签

归档