angular2 rxjs 可观察 - 提供的参数不符合调用目标的签名



我按照 Angular 代码示例创建了以下组件,用于构造新的可观察量 (https://angular.io/guide/observables#creating-observables(。

我在尝试创建新的可观察的行上收到错误,如下面的代码示例所示。错误是"提供的参数不符合调用目标的签名">

我错过了什么?

import { Component, OnInit } from '@angular/core';
import { Observable } from 'rxjs/Observable';
@Component({
selector: 'app-constructed-observable',
templateUrl: './constructed-observable.component.html',
styleUrls: ['./constructed-observable.component.css']
})
export class ConstructedObservableComponent implements OnInit {
constructor() { }
// error on Observable below 'supplied parameters do not meet signature of call target'
const sequence = new Observable(sequenceSubscriber);
function sequenceSubscriber(observer) {
observer.next(1);
observer.next(2);
observer.next(3);
observer.complete();
return {unsubscribe() {}};
}
ngOnInit() {
this.sequence.subscribe({
next(num) { console.log(num); },
complete() { console.log('completed'); }
});
}
}
sequence

用于ngOnInit,但未定义为类属性。

修复组件.ts:

sequence: Observable<number>;
constructor() {
// error on Observable below 'supplied parameters do not meet signature of call target'
this.sequence = new Observable(sequenceSubscriber);
function sequenceSubscriber(observer) {
observer.next(1);
observer.next(2);
observer.next(3);
observer.complete();
return { unsubscribe() { } };
}
}

堆栈闪电战演示

最新更新