我是一个初学者,用RxJS和with来学习基本的例子。我正在使用:
rxjs 5.5.6角5.2.0
我得到了以下错误:
error TS2339: Property 'do' does not exist on type 'number[]'.
在数组和一系列项之间来回转换的代码。我试图插入mergeAll来代替mergeMap,后者在转换数组时按预期的方式编译和工作。我希望可以观察到mergeAll根据文档返回,而无需转换,特别是因为mergeMap是基于mergeAll的。
this.notWorking().subscribe();
notWorkin
我使用的是rxjs v6.4.0。我试图通过一个API进行分页,搜索一个非常特定的通道,其中的名称等于"development“。我使用expand递归地调用API并获取新页面。最终结果给出了一个连接的通道列表。然后我过滤掉名字不等于“开发”的所有渠道。但是,我得到了一个错误:TypeError: You provided 'undefined' where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.
const Rx = require('
我有一个API (getNewStories),它以numbers(ids)数组的形式返回数据,比如1,2,3,4.还有一个API (getItem)使用number(id)并给出了它的详细信息。
如何使用rxjs操作符完成这一任务,以便只订阅一次,并给出带有这些it的记录数组?
我可以使用两个订阅来完成这一任务,但我希望有一个订阅。有可能吗?如果是,那是怎么做的?
this.hnService.getNewStories().subscribe(data => {
// data is [1,2,3,4,5]
// create an array of observables
在我的ThreadService类中,我有一个函数getThreads(),它返回一个包含所有线程的Observable<Thread[]>。
现在,我想要我的函数的另一个版本,通过一个选定的主题过滤我的线程: function getSelectedThemeThreads(theme: Theme)。
我尝试使用操作符map和filter,但得到以下错误消息Property 'theme' does not exist on type 'Thread[]。
下面是我正在编写的代码:
import { Injectable } from '@ang
定期地,我想轮询一个API,它将返回一个记录数组,这些记录的大小几乎肯定会有所不同。我希望每一个记录显示在一个CSS动画,这需要t的时间。因此,我必须缓冲API响应并单独发布它们,不要比t更频繁,这样动画才能顺利完成。
经过多次搜索、尝试和错误之后,我将这个定制的RxJS操作符(在无框架的TypeScript中)组合在一起。但是,双/嵌套concatMap有一点代码味道。是否有更优雅或反应更好的解决方案?所有内部可观测性是否都得到了正确的管理(没有订阅)?
(这是我的第一个自定义操作符,因此欢迎任何其他反馈。)
export function recordPace (/* params to
我正在用Angular阅读Routing and navigation。rxjs的first()运算符不起作用,我得到错误信息。 这是我的服务: import { Injectable } from '@angular/core';
import { Observable, of } from 'rxjs';
import { first } from 'rxjs/operators';
import { Hero } from './hero';
import { HEROES } from './mock-heroe
我使用RxJ处理文件中重放的数据。每个数据项都包含一个timereceived属性。在重放时,我希望用最初在给定的timespan中接收到的所有数据项创建缓冲区。换句话说:我希望将所有项添加到当前缓冲区中,而在接收到的第一个缓冲区元素与当前元素之间的timespan小于timespan x。
示例测试:
it('should be able to create buffers based on time received', function() {
// given
let source = require('rx').Observable.f
我已经写了以下的效果在我的角度应用程序,使用rxjs。在MyActions.myAction上,我接收一个包含属性ids的对象--一个id数组--对于每个id,我想通过this.myApiService.getResource发送一个HTTP请求,后者返回一个Observable<Resource>。然后,我希望收集数组中的所有结果,并分派另一个传递数组的操作。
public loadResources$: Observable<MyAction> = this.actions$.pipe(
ofType(MyActions.myAction),
s
我正在努力将节点流转换为Rxjs可观测值。
当我尝试1 URL.But时,流本身工作得很好,当我试图在一个URLS数组上映射相同的函数时,我会得到错误。
我使用Rx.Node将流转换为可观察的流。
,这就是我目前正在尝试的
// data_array is an array of 10 urls that I'm scraping data from.
let parentStream = Rx.Observable.from(data_array);
parentStream.map(createStream).subscribe(x => console.log(x),
我有一个可观察到的RxJS,它发射Uint8Array值类型的二进制数据。但并不是每个发出的值都包含一个完整的数据对象,可以自己处理。
完整数据对象的数据格式由起始字节(0xAA)、中间的一些可变长度数据和一个结束字节(0xFF)组成。中间的数据是BCD编码的,这主要意味着它不包含起始字节或结束字节,而只包含从0x00到0x99的二进制值。
下面是一个示例:
// This is a mock of the source observable which emits values:
const source$ = from([
// Case 1: One complete data ob
我是RxJS和angular2的新手,我的目标是开发一个共享功能,以防止模型更新和将数据保存到数据库之间的竞争,而不使用blockui
我的粗略想法是:
初始状态为“解冻”
1. Parent send "freeze" to children
2. Child components "block" all their internal dom event queues
3. Parent wait for all outstanding async operations (including
children) to complete
4. Pare
我想写一个函数,它接受排序列表的列表,然后将所有内容合并在一起,并再次对它们进行排序。
到目前为止,我设法写了以下内容:
merge_:: Ord a => [[a]] -> [a] --takes in the list and merges it
merge_ [] = []
merge_ (x:xs) = x ++ merge_ xs
isort:: Ord a => [a] -> [a] --Sorts a list
isort [] = []
isort (a:x) = ins a (isort x)
where
in