Typescript angular2型';主题<;{}>';不可分配给类型';()=>;主题<;数量>';
我使用angular2 rxjs测试它的多播功能,下面是我的代码:Typescript angular2型';主题<;{}>';不可分配给类型';()=>;主题<;数量>';,typescript,angular,rxjs,multicast,Typescript,Angular,Rxjs,Multicast,我使用angular2 rxjs测试它的多播功能,下面是我的代码: var source = Observable.from([1, 2, 3]); var subject = new Subject(); var multicasted = source.multicast(subject); // These are, under the hood, `subject.subscribe({...})`: multicasted.subscribe({ next: (v) =>
var source = Observable.from([1, 2, 3]);
var subject = new Subject();
var multicasted = source.multicast(subject);
// These are, under the hood, `subject.subscribe({...})`:
multicasted.subscribe({
next: (v) => console.log('observerA: ' + v)
});
multicasted.subscribe({
next: (v) => console.log('observerB: ' + v)
});
// This is, under the hood, `source.subscribe(subject)`:
multicasted.connect();
我得到了错误信息:
类型为“Subject”的参数不能分配给类型为的参数
'Subject<number> | (() => Subject<number>)'.
Type 'Subject<{}>' is not assignable to type '() => Subject<number>'.
Type 'Subject<{}>' provides no match for the signature '(): Subject<number>'
'Subject |(()=>Subject')。
类型“Subject”不可分配给类型“()=>Subject”。
类型“Subject”与签名“():Subject”不匹配
正如@yurzui所说,您需要定义泛型主题的类型
var subject = new Subject<number>();
var subject=new subject();
Tryvar subject=new subject()代码>