问题标签 [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 回答
413 浏览

angular - RXJS SwitchMap 在取消后不重复请求

switchMap 不重复 HTTP 调用。

我创建了一个指令来验证电子邮件是否已经存在。

在该指令内部,是一个 API。每次按键发生时,都会调用 API 来检查它是否已经存在。

我正在使用 switchMap 来防止多个 HTTP 请求并取消以前的请求。

但问题是,一旦请求已经发出并被取消,它就不会再重复了。

例如 test@gmail.com - 取消请求

test2@gmail.com - 成功的 API

test@gmail.com(再次)- API 调用将不再发生。

为什么会发生这种情况(对我来说)?

我检查了 switchMap 操作员文档,但没有看到任何关于此的情况。

}

我希望 API 在任何电子邮件输入中都能成功。

0 投票
1 回答
35 浏览

rxjs - 为什么这两个 observables 发出不同的流?

我正在使用大理石图来显示两个不同的 observables 的输出。第一个使用 switchmap,将管道连接到另一个 switchmap。第二个 observable 在同一个管道中有两个 switchmap。

这是两个大理石流:

第一个使用内部管道内的开关图 https://rxviz.com/v/38MavX78

第二个在单个管道内使用 switchmaps https://rxviz.com/v/9J9zNpq8

他们怎么会有不同的结果?

0 投票
1 回答
787 浏览

angular - rxjs switchMap 在 Angular Guard 中不起作用?

我的初始代码有点复杂,在某些情况下取决于用户数据,但出于测试目的,我在警卫的 canLoad 中使用了上面的代码,但它没有激活。

有任何 TS/编译错误。

我已经尝试过使用常春藤和不使用。

我正在使用 Angular 8.3;

0 投票
1 回答
147 浏览

angular - 以角度实现 rxjs switchmap

这是较旧的实现,我想获得 HeatingDesired 值

==================================================== =========================

现在我正在尝试使用 switchmap 并订阅最终响应

第二个 api 调用需要我从第一个 api 调用中获得的参数

更新

从第一个 api 调用的上述响应中,我想获取 rows[0].id 并将其传递给第二个 api 调用。

我尝试使用 map, foreach 但在调试时执行并没有进入 const obs = a.forEach((m)=>{ let pointId = this.helperService.stripHaystackTypeMapping(m.rows[0]['id']) .split(' ')[0];

0 投票
1 回答
185 浏览

angular - Invoke modal inside SwitchMap in angular2 resolver

I have a requirement of displaying modal popup based on warning message inside angular resolver. I am making a service call to API and using combineLatest and SwitchMap returning multiple responses. I need to display modal popup based on API service response result and redirect to different route if that modal pop up shown and clicked. Otherwise, resolver can return mutiple responses. I have tried below code and when debugging, my modal is not being hit and skipped and returns the responses. what changes to be done in below code so that when any warning message available, modal could be shown up and route to different page? I have searched other questions and could not see relevant like this.

Modal.Component.ts

0 投票
1 回答
379 浏览

javascript - 为什么我在使用 switchMap 时无法访问属性?

我有一个附加到按钮的方法。用户在输入中输入他们的姓名,当单击按钮时,将显示来自该用户的信息。我打算如何做到这一点在下面解释..

我正在尝试将一个 Observable 中的值传递给另一个 Observable。我试图从第一个 Observable 获得的值是一个 ID,然后在第二个 Observable 中使用。

我目前这样做的方法是使用 switchMap 运算符。但是,当将 ID 从第一个 Observable 传递到第二个时,我在控制台中看到“未定义”..

我在想,要么我在调用第一个 Observable 时没有正确访问 ID。要么我不应该使用 switchMap ?

这也很奇怪,我认为我很接近,因为使用 Object.keys(player)['0'] 我可以获得第一个对象键(数据)。但是使用 Object.keys(player)['0'].id; 未定义:/

这是我试图从中获取 ID 的响应对象:

伊姆古尔

我的组件中的单击功能:

使用 getPlayer 方法和 getSeasonStats 方法的服务:

0 投票
1 回答
274 浏览

android - 在 kotlin 和 android 中是否有类似于 rxjs 或 rxjava 中的 switchmap 的东西?

我想知道在 kotlin 和 android 中是否有类似于 switchmap 的东西(可能是 LiveData)。

我需要在可能经常发生并分别确定从服务器请求什么的事件之后立即更改我的请求,我只需要最后一个请求

0 投票
3 回答
955 浏览

angular - 有没有办法只订阅 SwitchMap 的最新响应?

考虑以下示例:

通过单击文档内部,它会处理一个新请求。

在这里查看闪电战:rxjs-about-switchmap

使用SwitchMap允许取消先前的请求。我怎样才能只订阅最新的请求响应?

0 投票
1 回答
2924 浏览

angular - 带有 switchMap 和 catchError 的 NgRx 效果 - 有人可以解释我的代码和“正确”代码之间的可观察工作流程的区别吗?

我发送了以下代码片段以进行代码审查。这个效果需要在请求调用之后调度一个成功动作,或者如果服务方法抛出错误,则调度一个错误动作,非常标准。

但是,外部开发人员给了我一个评论(我没有联系,因此无法要求澄清)。他指示我用另一个 switchMap 包装我的 switchMap(就像下面的代码一样),因为在我上面的代码中的第一个 switchMap 中的 catch 错误“会导致效果中断”。

现在,我阅读了关于在效果中捕获错误的内容,我的理解是 catchErrors 需要被包裹在 switchMap 中,因为这样效果就不会中断,因为失败的内部(而不是外部)observable 将被成功替换并且效果 observable最终可以被迫进入成功状态(如果我理解正确的话)。

我不明白和我缺少的是:为什么我们将 switchMap 包装到另一个 switchMap 中?有人可以在第一种情况与第二种情况下解释这个特定可观察对象的工作流程吗?

0 投票
0 回答
372 浏览

angular - 单元测试区间和switchMap

我有一个具有以下 ngOnInit 函数的组件,它轮询服务方法以获取状态更新:

我正在尝试使用以下代码测试更新是否实际发生:

但是,测试仍然失败。

提前致谢