问题标签 [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.
javascript - 在 redux-observable 中使用 rxjs 示例来监听其他操作
我使用 redux-observable 作为调度动作和商店之间的中间件。我正在尝试使用 rxjssample
函数来完成此操作,但不幸的是它对我不起作用。这是我的史诗:
基本上这个想法是有多个地方可以注册一个新用户,在这种情况下,我想在成功注册用户后重定向到团队页面。我看到 REGISTER_REQ 发出,它随后会发出 REGISTER_SUCCESS。但是重定向 observable 永远不会被采样。
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。
谢谢,阿德里安。
rxjs - 在史诗中的可观察对象流的开始和结束处发出动作的最佳实践方法?
我正在使用 react-observable 来编排我的应用程序中的 AJAX 调用。我已经连接了 react-redux-loading-bar 以在 AJAX 调用开始时显示一个加载栏,并在它们完成时隐藏它。它有效,但感觉不是很“干净”。
有没有更好的方法来利用 RXJS 或 redux-observable 来使这个更干净?
更新:
在研究了 Martin 关于使用 concat 的建议后,我附上了一个我很满意的简化版本。
redux - 在第一次分派后 redux-observable 多个动作
我是这里描述的“registerEpic”实用程序:在 react-router onEnter 钩子中懒惰地添加新史诗是一种有效的做法吗?
我们的代码需要是等量的,但是在服务器端,第一次触发一个动作,一切都很好。但是第二次触发该动作时,史诗似乎获得了该动作的 2 个副本。这是我的代码:
因此,我第一次点击触发此操作的页面(服务器端)一切正常,并且我在控制台中获得了一次“正在进行提取”。
但是,刷新页面会产生其中 2 条控制台消息,并且不会触发结果操作。
我在我的史诗注册表中添加了一个“清除”功能,但也许我完全是菜鸟酱,只是没有完全理解它。这是我的中间件:
javascript - 为什么在执行连接后不调用完成?
我需要多次查询设备。每个查询都需要是异步的,并且设备一次不支持同时查询。而且,一旦被查询,就不能马上再次查询。它需要至少 1 秒的暂停才能正常工作。
我的两个查询,由saveClock()
and执行saveConfig()
,返回一个 Promise 并且都通过按预期返回 undefined 来解决。
在以下代码中,为什么删除take()
阻止toArray()
被调用?
这里发生了什么,有没有更好的方法来实现相同的行为?
rxjs - 我们应该为每个动作类型创建一个史诗吗?在 redux-observable 中
我正在进行redux-observable学习,我有一些疑问:
我们应该为每个要观看的动作创建一个史诗吗?
或者我们可以为许多带开关的减速器创建它吗?在中间件中导入每一个 Epic 来说服是很多工作
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-observable
or rxjs
,任何意见都会非常有帮助。
redux - 如何在 redux-observable 中重新初始化操作?
例如,这个 jsbin 示例的代码:
当我takeUntil
如上所述使用时,在调度CANCEL
动作并延迟 1 秒后,动作不再触发。为什么?
rxjs5 - 正确使用 Redux-Ovservable ajax http 方法:put、delete、post
我是 Redux 和 Redux-Observable 的新手。我在使用 GET 和 GET(ID) 从 rest API 获取信息方面取得了成功,但我无法让 Delete 和 Post 工作。下面发出 GET 请求的示例代码:
我究竟做错了什么?
javascript - 使用 takeUntil 在 Redux-observable 中取消异步请求的预期行为是什么
我是 RXJS 的新手,我发现 Redux-observable 使用 takeUntil 取消异步请求非常有用。但是当我测试它时,我发现即使我们取消了请求,实际的请求仍在进行中..
我有这个 JSbin 代码片段要测试。
https://jsbin.com/hujosafocu/1/edit?html,js,输出
即使您通过单击取消(多次)按钮取消请求,此处实际请求也不会取消。
我不确定这应该是怎样的......如果是,那么取消异步请求意味着什么。我有点困惑..请分享一些想法..
对此的任何回应将不胜感激..谢谢