首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调试rxjs5?

如何调试rxjs5?
EN

Stack Overflow用户
提问于 2016-07-26 12:48:34
回答 2查看 5.5K关注 0票数 19

RxJS - Goals上,我看到他们的目标是更好的可调试性:

目标 提供比以前版本的RxJS更多的可调试调用堆栈

我刚刚开始使用redux-observable,比较redux-saga要容易得多,因为我已经习惯了使用lodashramda的反应性风格(好吧,fp风格可能;)。我感到惊讶的是,现在还无法调试它。是真的吗?如果是这样的话,那么我可能会切换到redux-saga,或者坚持使用redux-thunk

基于杰伊·菲尔普斯答案的编辑

通过调试,我的意思是:“如何在浏览器中设置断点(例如observable.map(...) )?”使用lodash,我可以在浏览器中设置一个断点,它就停在_.map(...)上。如何使用redux-observable (或rxjs)完成此操作?我不想依赖于大理石图和console.log()的绘制。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-26 18:39:15

当然可以调试RxJS代码。我认为可以肯定地说,如果不是这样的话,几乎没有人会使用它--Angular2 2也是建立在它之上的。

人们使用的最常见的方式与调试其他JavaScript、断点(例如调试器)和console.log()的方式相同。

有些用户使用更高级的技术,比如绘制依赖关系图或大理石图。最近的André Staltz wrote about this,所以这可能是一个有用的资源。

最终,任何类型的异步编程都将很难调试。这并不是redux可观察/RxJS独有的;快速搜索也会显示出对redux-saga的大量调试担忧。

事实证明,redux-thunk是绝大多数应用程序构建的最佳解决方案,因为大多数应用程序没有复杂的副作用问题,因此有理由使用redux-可观察的或redux-传奇之类的东西。虽然如果您已经精通RxJS,使用redux可观察并没有任何问题。

作为一个项目,redux-传奇存在的时间比可观察的redux更长,所以这无疑是一个主要卖点。您将发现更多的文档、示例,并且可能有更好的社区可从其中获得支持。

反过来说,你在redux-saga中学到的操作符和API几乎不像学习RxJS那样可以转移,因为它到处都在使用。redux--可观察到的超级超级超级内部很简单,它为您提供了一种使用RxJS的自然方式。因此,如果您知道RxJS (或想),这是一个非常自然的适合。

我目前对大多数人的建议是,如果你必须问你应该使用哪一个,你可能应该选择redux-saga。

(免责声明:我是redux可观测和RxJS v5的维护人员之一)

票数 16
EN

Stack Overflow用户

发布于 2017-01-10 09:48:09

代码语言:javascript
复制
import Rx, { Observable } from 'rxjs'

const arrStream$ = Observable.of(1,2,3)
                    .do(x=>console.log('Before',x))  // 1, 2, 3
                    .map(x=>x*2)
                    .do(x=>console.log('After',x))   // 2, 4, 6
                    .subscribe(value=>doThingsWith(value))
// real console output
// Before 1
// After  2
// doThingsWith(2)
// Before 2
// After  4
// doThingsWith(4)
// Before 3
// After  6
// doThingsWith(6)

.do(debugValue=> console.log(debugValue))

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38590346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档