问题标签 [redux-observable]

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 回答
446 浏览

javascript - 在 redux-observable 中使用 rxjs 示例来监听其他操作

我使用 redux-observable 作为调度动作和商店之间的中间件。我正在尝试使用 rxjssample函数来完成此操作,但不幸的是它对我不起作用。这是我的史诗:

基本上这个想法是有多个地方可以注册一个新用户,在这种情况下,我想在成功注册用户后重定向到团队页面。我看到 REGISTER_REQ 发出,它随后会发出 REGISTER_SUCCESS。但是重定向 observable 永远不会被采样。

0 投票
1 回答
529 浏览

javascript - 使用 Observable.ajax.post 是否可以捕获“正确/自定义”错误?

当我使用Observable.ajax.post并收到错误时,它会返回一个 "generic" AjaxError

在我的 Web 服务中,我返回一个自定义 json 对象,其中包含错误以及 BadRequest (400) 响应。如果我在SwaggerUI中测试服务,我会得到“正确”的错误消息/对象。

Observable.ajax仅返回“通用”是否有限制AjaxError

关于上下文的更多信息,我正在使用 React、Redux、Redux-Observable(使用 RxJs)、TypeScript、Webpack 开发 SPA,并且该服务是使用 Swagger(Swashbuckle)的 Asp.Net Core WebApi。

谢谢,阿德里安。

0 投票
1 回答
1261 浏览

rxjs - 在史诗中的可观察对象流的开始和结束处发出动作的最佳实践方法?

我正在使用 react-observable 来编排我的应用程序中的 AJAX 调用。我已经连接了 react-redux-loading-bar 以在 AJAX 调用开始时显示一个加载栏,并在它们完成时隐藏它。它有效,但感觉不是很“干净”。

有没有更好的方法来利用 RXJS 或 redux-observable 来使这个更干净?

更新:

在研究了 Martin 关于使用 concat 的建议后,我附上了一个我很满意的简化版本。

0 投票
1 回答
1257 浏览

redux - 在第一次分派后 redux-observable 多个动作

我是这里描述的“registerEpic”实用程序:在 react-router onEnter 钩子中懒惰地添加新史诗是一种有效的做法吗?

我们的代码需要是等量的,但是在服务器端,第一次触发一个动作,一切都很好。但是第二次触发该动作时,史诗似乎获得了该动作的 2 个副本。这是我的代码:

因此,我第一次点击触发此操作的页面(服务器端)一切正常,并且我在控制台中获得了一次“正在进行提取”。

但是,刷新页面会产生其中 2 条控制台消息,并且不会触发结果操作。

我在我的史诗注册表中添加了一个“清除”功能,但也许我完全是菜鸟酱,只是没有完全理解它。这是我的中间件:

0 投票
1 回答
191 浏览

javascript - 为什么在执行连接后不调用完成?

我需要多次查询设备。每个查询都需要是异步的,并且设备一次不支持同时查询。而且,一旦被查询,就不能马上再次查询。它需要至少 1 秒的暂停才能正常工作。

我的两个查询,由saveClock()and执行saveConfig(),返回一个 Promise 并且都通过按预期返回 undefined 来解决。

在以下代码中,为什么删除take()阻止toArray()被调用?
这里发生了什么,有没有更好的方法来实现相同的行为?

0 投票
1 回答
1208 浏览

rxjs - 我们应该为每个动作类型创建一个史诗吗?在 redux-observable 中

我正在进行redux-observable学习,我有一些疑问:

我们应该为每个要观看的动作创建一个史诗吗?

或者我们可以为许多带开关的减速器创建它吗?在中间件中导入每一个 Epic 来说服是很多工作

0 投票
1 回答
284 浏览

meteor - 奇怪的`Uncaught TypeError: unknown type returned`同时从`Observable.fromNodeCallback`返回一个流

据我所知,史诗的模式是“行动,行动”。

我使用 MeteorJS,需要遵循调用 Meteor 方法与服务器交互的约定。

看起来像这样:

所以我尝试用这样的史诗来处理异步副作用:

completedSubscribe只是一个动作创建者: const completedSubscribe = result => {type: SUCCEED, result}

然后我得到错误:Uncaught TypeError: unknown type returned

为了确保我实际返回动作出来,

我尝试调用 subscribe :

然后订阅完美,

但史诗仍然无法工作并继续抛出Uncaught TypeError: unknown type returned.

我认为这可能不是 MeteorJS 的方法问题,这可能发生在从回调创建的其他 observable 中。

也许我误解了redux-observableor rxjs,任何意见都会非常有帮助。

0 投票
1 回答
1138 浏览

redux - 如何在 redux-observable 中重新初始化操作?

例如,这个 jsbin 示例的代码:

当我takeUntil如上所述使用时,在调度CANCEL动作并延迟 1 秒后,动作不再触发。为什么?

0 投票
0 回答
356 浏览

rxjs5 - 正确使用 Redux-Ovservable ajax http 方法:put、delete、post

我是 Redux 和 Redux-Observable 的新手。我在使用 GET 和 GET(ID) 从 rest API 获取信息方面取得了成功,但我无法让 Delete 和 Post 工作。下面发出 GET 请求的示例代码:

我究竟做错了什么?

0 投票
2 回答
995 浏览

javascript - 使用 takeUntil 在 Redux-observable 中取消异步请求的预期行为是什么

我是 RXJS 的新手,我发现 Redux-observable 使用 takeUntil 取消异步请求非常有用。但是当我测试它时,我发现即使我们取消了请求,实际的请求仍在进行中..

我有这个 JSbin 代码片段要测试。

https://jsbin.com/hujosafocu/1/edit?html,js,输出

即使您通过单击取消(多次)按钮取消请求,此处实际请求也不会取消。

我不确定这应该是怎样的......如果是,那么取消异步请求意味着什么。我有点困惑..请分享一些想法..

对此的任何回应将不胜感激..谢谢