问题标签 [rxjs-pipeable-operators]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
angular - GAPI 和 Angular 7 问题
我要求使用 gapi 谷歌驱动器:
然后我尝试在组件中显示这些数据:.ts 文件ngOnInit
:
和 html 文件:
问题是data$
总是空的。我添加debugger
到map
检查那里可能有问题,但它永远不会map
发挥作用。从响应中,我得到 2 个文件,所以res.result.files
不是空的;
angular - 可观察的最佳实践
在我当前的项目中,我有一个可观察的返回值,我必须根据可观察的返回值更新我的局部变量。
我看到了两种方法,要么直接订阅我的 observable,要么使用 pipable 运算符。
根据您的经验/知识,最佳做法是什么?
第一种方法(直接订阅):
第二种方法(使用 pipable 运算符):
rxjs - 使用 filter() 运算符过滤值时触发副作用
我正在处理在 debounceTime() 之后触发的用户名搜索输入。我还过滤掉了值。如果值被过滤(例如设置错误消息和停止加载程序),我想触发一些副作用。
我现在通过使用 tap() 并检查我稍后在 filter() 函数中检查的相同谓词来实现这一点。我觉得这很糟糕/有更合适的方法来实现这一点。
如您所见,我在 filter() 上使用它们之前使用 tap() 明确检查完全相同的条件。是否有操作员/不同的模式可以让我以更简洁的方式实现这一目标?
angular - RxJS / Angular Observables 使用 1 个或多个管道?
具有以下内容(只是一个简单的示例):
为什么我应该使用 1 个管道?
对我来说,在第一种情况下,代码更美观、更易读。但不知道这是否会影响行为。
rxjs - `withLatestFrom` - 使用 observable 实现时抛出错误
我正在尝试ngrx
使用运算符集成缓存rxjs
withLatestFrom
。但得到一个错误:
有人更正我的代码吗?
这是我的代码:
angular - 在 RxJS pipable 操作符之间传递数据的最佳方式?
除了在 RxJS 的下一个 pipable 运算符中获取其响应数据之外,我还想传递 URL。您认为实现这一目标的最明智的方法是什么?提前致谢。
这是一个例子。 https://stackblitz.com/edit/angular-rxjs-passing-data-to-next-operator-question
我尝试了一些运算符,但找不到合适的运算符。(实际上,我什至不知道为什么传递返回 observablemergeMap
的函数会导致在 next 运算符中获取数据作为函数的参数......)
我希望在 pipable 运算符中获得 url 及其响应数据。
rxjs6 - rxJS 中的 last 和 publishLast 运算符有什么区别?
我正在尝试从可观察到的中提取最后一个发出的值。但是 rxJS 有两个运算符last() 和publishLast()。
rxJS 中的 last 和 publishLast 运算符有什么区别?
rxjs - 即使底层 observable 抛出错误,RxJS 也不会在映射时抛出错误
我有一个网络调用,其中 api 可能会引发 400 错误。我想优雅地处理这件事。
现在我这样做如下 -
但我更喜欢使用 Observable.map 运算符。Observable.map 的问题是当 api 抛出 400 时,整个 observable 进入错误模式。
我想防止这种情况发生,因为这个 get 调用正在与其他调用的 forkJoin 中使用。失败将意味着下面的整个 forkJoin 失败
javascript - 如何防止多个http请求同时触发
我有一个对象数组。对于每个对象,我需要触发一个异步请求(http 调用)。但我只想同时运行一定数量的请求。此外,如果我可以在所有请求完成后有一个同步点来执行某些代码,那将是很好的(但不是必需的)。
我尝试过以下建议:
还有更多......我什至尝试制作自己的运营商。
要么这些页面上的答案太旧而无法使用我的代码,要么我无法弄清楚如何将所有内容放在一起,以便所有类型都能很好地适应。
这是我到目前为止所拥有的:
编辑1: 好的,我想我们到了!随着Julius和pschild的回答(两者似乎同样有效),我设法限制了请求的数量。但现在它只会发射第一批 4 个,而不会发射其余的。所以现在我有:
我做错了subscribe()
什么吗?
顺便说一句:mergeMap
withresultSelector
参数已被弃用,所以我mergeMap
没有使用它。此外, 的obj
中mergeMap
不可见tap
,所以我不得不使用tap
' 参数
编辑2:
确保你的观察者完成!(花了我一整天)
angular - 使用可管道操作符并仅订阅“内部”可观察对象
假设您有以下代码:
我在另一个组件中得到了这个转换后的 Observable,我订阅了它。
深入研究 Rxjs 文档,我们可以看到使用可管道运算符转换一个 Observable,然后订阅“结果”可观察对象也订阅“起源”可观察对象。
Pipeable Operator 本质上是一个纯函数,它将一个 Observable 作为输入并生成另一个 Observable 作为输出。订阅输出 Observable 也会订阅输入 Observable。
我的问题来自项目中提供的单元测试未能完成