我想我根本不理解角2的rxjs可观测物的概念。
我创建了一个可观察属性,其他人可以订阅该属性并获取http调用结果的数据。
如果我想发出另一个http请求,可能需要修改一些参数以提取一些新数据,该怎么办?我是否要用这个新的可观察物替换可观察物?这是否破坏了我的订阅组件与前一个可观察组件的订阅?
免责声明:我没有使用angular2,但我确实经常使用RxJS。
我可以说,典型的情况是,对于像http请求这样的单发事件,生成的Observable只能从该请求中得到一个结果。如果要发出更多请求,则需要再次调用该方法。即
从文件中
$http.get('/people.json').map(res => res.json()).subscribe(people => this.people = people);
现在,如果您计划发出多个后续请求,那么通常您会使用其他事件(可能是用户事件或网络事件)触发呼叫,您甚至可以将其设置为每隔几秒钟定期运行一次。要不“断开链”,您需要使用一个flatMap
(基本上是.map().merge()
)变体将结果展平为一个链。
例如,如果您有一个任意事件(注意语法可能会有一些变化,因为有几个版本的RxJS):
Rx.Observable.fromEvent($someButton, 'click')
//Gather the parameters for the request
.map(e => {id : 'abc123'})
//Flatten each request into a single stream so the observer
//never knows the difference
.flatMap(params => $http.get(`/people/${params.id}`),
(params, res) => res.json())
//Do your update here
.subscribe(person => this.people[person.id] = person);
问题内容: 在是否有可能使用isomporphic取的,而不是Rx.DOM.ajax? 问题答案: (注意:来自RxJS v4 ,并且不能与需要RxJS v5的版本 一起使用。v5中的等效项是或) 确实可以使用以及其他任何AJAX API。虽然有些适应比其他容易! 该API返回a ,RxJS v5对此具有 内置支持 。该预期可观察到的最能消耗运营商承诺按原样(如,等)。但是通常您需要在将Rx运算符
我的asp中有以下WebClient。net mvc web应用程序: 那么,有人可以建议我如何将它从WebClient更改为HttpClient吗?
我对java还是新手。是否有办法获取已替换的新字符串? 输出: 期望的新输出: 我想得到输出字符串然后将替换为
2) client().Extensions().Deployments().InNamespace(namespaceName).WithName(deploymentName).CreateOrReplace(deployment); 3) client().Extensions().Deployments().InNamespace(namespaceName).WithName(deplo
问题内容: 我试图将字符串分成数组并替换为,但无法做到,我也尝试了String.replaceAll这样的东西。 我想提供一个通往JNI的路径,并且它只能以这种方式读取。 问题答案: 在这种情况下不要使用- 这是用正则表达式指定的,这意味着您需要更多的转义。这应该很好: 请注意,由于Java字符串文字中的原因,反斜杠加倍-因此此处涉及的 实际 字符串是“单反斜杠”和“双反斜杠”-而不是双倍和四倍。
我有以下布局 一切正常,但我想用一个片段替换浏览器 这不是重新调整ViewPager的间距,我该怎么办???