angular - Angular:函数内未定义的成员变量
问题描述
我有以下服务,它有一个返回 Observable 的函数,因为它从另一个服务获取数据,转换它然后返回它(作为 Observable)。
@Injectable({
providedIn: 'root'
})
export class ReportColumnHeaderService {
constructor(private companyService: CompanyService) {}
public getColumnHeaderElements(variableDimensions: string[]): Observable<HeaderElement[]> {
return Observable.create(function(observer) {
this.companyService.getCompanies( (companies: Company[]) => {
let headerElements = getHeaderElements(companies);
observer.next(headerElements);
observer.complete();
});
});
}
}
问题是this.companyService
在function
. 我读到如果我使用这样的东西应该是可能的=>
:
return Observable.create((observer) => {
this.companyService.getCompanies( (companies: Company[]) => {
let headerElements = let headerElements = getHeaderElements(companies);
observer.next(headerElements);
observer.complete();
});
});
但是该代码无法编译。它说Expected 0 arguments, but got 1.
有人可以给我一个提示如何解决这个问题吗?
解决方案
假设getCompanies
返回一个可观察的,你就错过subscribe
了这个功能。正确的调用如下:
this.companyService.getCompanies().subscribe( (companies: Company[]) => {
推荐阅读
- java - 构造函数 RemoteWebDriver(URL, DesiredCapabilities) 未定义
- c# - TransactionScope 如何与多线程一起工作
- flutter - 当我在 TAP 上轻触另一个图像时,想要停止上一个点击的音频吗?
- excel - Python用于比较excel列元素并在单独的列中打印匹配的元素
- firebase - 现场 Firestore 文档规则
- flutter - 在同一个函数中返回两个整数
- python-3.x - Elpy 初始化并按预期工作,除了错误突出显示功能
- r - 如何在这个问题中使用 apply 函数来避免 for 循环
- connection - ActiveMq 5.10 是否支持“检测来自客户端的故障”
- html - 如何防止 Bootstrap Modal 在 GridView 项目单击时关闭?