问题标签 [switchmap]

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.

0 投票
1 回答
2390 浏览

angular - 来自 switchMap 的 BehaviorSubject 然后 getValue 不是函数错误

这是我的课 ts 代码

这是来自服务的代码

我声明了类型,也声明了类型,但是当我写的时候

我收到此错误:

错误类型错误:this.product$.getValue 不是函数

谢谢

0 投票
2 回答
1156 浏览

javascript - switchMap 不接受要在其中执行的函数

我尝试执行以下搜索:
我想根据第一个搜索某些内容id,这将返回一个FirebaseListObservable. 然后我尝试在switchMap函数内部执行代码,Observable因为搜索通常需要更长的时间,否则我的代码将完成,并且lastLoc会使用错误的值。

我尝试对一系列点运行它,所以我在一开始就遍历一个数组。

这是我的代码:

我收到以下错误:

0 投票
0 回答
139 浏览

rxjs - Angular2:404 响应使用激活路由和 switchmap

在服务中获取所选用户详细信息的方法是:'getSelectedUser(name)',它使用一个 Observable,在所需的组件中,我们调用该服务并应用 switchMap,然后订阅它。但不知何故,它没有被订阅,它在控制台上抛出 404。请指导在没有任何错误的情况下获得该响应。

预期输出是:当我们点击特定用户时,它应该重定向到 about/username(这里:about/Kylie),显示 Kylie 的全部详细信息。

这是我的代码:

about.component.ts

关于-user.component.ts

应用服务.ts

in-memory.service.ts

app.routing.ts

以下是屏幕截图: 单击 Kylie 用户后的第一个屏幕错误屏幕

0 投票
2 回答
691 浏览

angular - 尝试在 Ionic 3 中使用 switchMap 取消现有的 http 请求

我的目标是在 Ionic 3 项目中使用 RxJs switchMap,如果服务器离线,则取消任何正在进行的登录尝试,并仅使用最新请求。否则我以后会得到一些不需要的异步副作用。

在我的视图层中,我submitStream$用于捕获按钮点击流,然后将其作为方法参数传递给服务层。在服务层中,我response$通过 aswitchMap将传递的参数submitStream$Observable<Response>this.webServiceUtil.testLogin().

我尝试实现此代码:

HTML 标记

打字稿:视图层

打字稿:服务层(submitStream$ 作为方法参数进来)

我也尝试过this.submitStream$ngAfterViewInit()

当事情不起作用时,我还尝试将其附加到 Observable.fromEvent:

如何克服' ERROR TypeError: Invalid event target '

0 投票
0 回答
280 浏览

angular - Angular 2 Firebase 订阅和切换映射多个元素

我有一个表“A”,里面有一个数组,其中包含表“B”的 0 到 N 键我的意图是使用 swtich 映射来获取表“B”的所有记录。

直到我有 1 对 1 的键,我才实现了这个简单的功能:

`

`

但是当“Ordine.IDScuola”是一个键数组而不是单个元素时,我该如何实现呢?

0 投票
1 回答
2982 浏览

angular - RxJs switchMap:哇传递多个值?

https://www.learnrxjs.io/recipes/smartcounter.html,我找到了 Angular 2+ 中数字计数器的一个很好的示例,代码如下所示:

现在这很好用,但我想传递一个变量 currentNumber 而不是 this.currentNumber 默认 0。

到目前为止,我已经走了这么远:

但是当一个新值到达时,this.currentNumber 没有设置为以前的版本。

您有任何提示或示例来完成此操作吗?

0 投票
1 回答
373 浏览

javascript - 在 Angular 项目中实现 .switchMap 时出错

我正在学习使用我的 Angular 项目实现的 firebase,但遇到了 .switchMap() 运算符的问题。我的理解是它应该得到一个可观察的并切换到另一个。我正在尝试获取 firebase 用户并切换到经过身份验证的应用程序用户。

错误: AngularFireObject<{}> 不能分配给类型的参数(值:用户,索引:数字)

这是我的代码

身份验证:

用户服务:

谢谢

0 投票
1 回答
39 浏览

angular - 展平嵌套的可观察对象并在外部可观察对象中包含常规变量

抱歉澄清一下,以下数据结构:

所以这会给我留下以下obs2:

我一直无法让这个 obs2 流变平,同时还将测试变量作为结构的一部分。理想情况下,我应该使用如下格式:

多谢你们!

0 投票
2 回答
3411 浏览

angular - RxJS switchMap 和不同的 observables

Angular 和 RxJS 的新手,试图理解这一点......我的应用程序对 UI 事件做出反应,并导致调用返回 Observable 的 HTTP 服务。我像这样订阅它:

假设该事件再次触发,它会导致对同一个 HTTP 服务进行第二次调用,该服务将在第一次调用完成之前返回一个全新的 Observable。

现在,据我了解,我可以使用 switchMap 而不是 map 来丢弃旧的 Observable 并对新的 Observable 进行操作?还是我理解错误?如果在第一个事件已经在链的订阅部分之后触发第二个事件会发生什么?在这种情况下它会不再切换?而且由于 JS 是同步的,在第二个事件甚至开始处理它的链之前,整个第一个链不会执行吗?

我想我对整个事情感到困惑,因为 Observables 的实例不同 - Rx 如何跟踪哪个调用来切换?是函数名吗?假设我有 2 个单独的代码块:

如果我在上面两个上都使用 switchMap 到底会发生什么?第二个电话会抵消第一个电话吗?

0 投票
1 回答
272 浏览

angular - 如何为没有返回实体的api删除调用重写这个@effect?

问题是api.deleteUser返回 null(状态 204),所以用户丢失了。如何将用户(即action.payload)传递给DeleteUserSuccess(user)