Angular Subject.onNext不是函数

Angular Subject.onNext不是函数,angular,Angular,我试图在我的http代码中使用一些reactiveX。为此,我创建了一个Subject,并试图调用onNext函数,但我得到一个错误,即Subject.onNext不是一个函数 html: ts: 原始异常:TypeError:this.queryStream.onNext不是函数 我所有的普通http函数都可以工作(this.jsonp.request(url/query).map().subscribe()),但onNext操作符不能工作。导入flatMap时也遇到问题,它似乎与map和d

我试图在我的http代码中使用一些reactiveX。为此,我创建了一个Subject,并试图调用onNext函数,但我得到一个错误,即Subject.onNext不是一个函数

html:

ts:

原始异常:TypeError:this.queryStream.onNext不是函数

我所有的普通http函数都可以工作(this.jsonp.request(url/query).map().subscribe()),但onNext操作符不能工作。导入flatMap时也遇到问题,它似乎与map和debounce不在同一个“rxjs/add/operator/…”文件夹中。

replace

import { Observable } from 'rxjs/Observable';
import { Subject } from 'rxjs/Subject'
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/debounce';
与:

import * as Rx from "rxjs/Rx";

Subject
替换为
Rx.Subject

onNext
替换为
next

(我只是补充上面的答案)

从rxjs v6开始,分组发生了变化。 在使用RXJSV6时,只需提及一些需要记住的事情

Mypackage.json

"rxjs": "^6.0.0",
"rxjs-compat": "^6.2.2",
"rxjs-tslint": "^0.1.5",
从v6开始,以下各项将不起作用:-

1.

import * as Rx from 'rxjs/Rx'; (was earlier used for Rx.Observable.create(), etc )
import { Observable } from 'rxjs/Observable'; 
import { Subject } from 'rxjs/Subject';

// instead, use :-

import { Observable, Subject, of, from, fromEvent, interval } from 'rxjs';
// cannot use rxjs/Rx from v6 onwards.
2.

import 'rxjs/add/operator/map';
import 'rxjs/add/operator/debounce';

// instead, use:

import { map, debounce } from 'rxjs/operators'; 

这是因为
onNext()
是旧RxJS(RxJS 4)的一部分,而在新的RxJS(RxJS 5)中,该方法被称为
next()
为什么会发生如此重大的变化???!!!!我正在拔头发…谢谢,这真的很干净的进口!对于那些感兴趣的人,这里是从RxJS 4到5的完整迁移文档:这不是有点重(大小方面)吗,因为我们可能不必要地从Rx加载所有内容?根据关于的建议,我们应该只加载我们需要的Rx组件/运营商。
import 'rxjs/add/operator/map';
import 'rxjs/add/operator/debounce';

// instead, use:

import { map, debounce } from 'rxjs/operators';