javascript - angular2 rxjs Observable - 提供的参数不符合调用目标的签名
问题描述
我按照 Angular 代码示例创建了以下组件,用于构建新的 observable ( https://angular.io/guide/observables#creating-observables )。
我在尝试创建新的 Observable 的那一行出现错误,正如我在下面的代码示例中所指出的那样。错误是“提供的参数不符合调用目标的签名”
我错过了什么?
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() { } };
}
}
推荐阅读
- ios - 用户在“应用内购买”中购买产品时如何发送额外参数(如:帐户用户详细信息)
- html - 通过 VBA Excel 更改站点中的数据
- java - How to access a column from a sub query in outer query using Spark SQL
- javascript - Javascript 从 php 列表中给了我错误的图像名称
- java - JavaFX:如何使用事件处理程序处理 textField 上的文本选择?
- python - Google colab:拒绝访问您无权访问此服务器上的“网站”
- c - C中的“*variable”和“*variable[]”有什么区别?
- prolog - 如何从 Prolog 中的谓词列表中获取特定元素
- c-preprocessor - 'ISO C99 的通用解决方案要求可变参数宏中的“...”至少有一个参数'
- oracle-apps - 在 Oracle 应用程序中向客户发货和向客户开单有什么区别