У меня есть следующий сервис, в котором есть функция, которая возвращает 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.
Может кто-нибудь подсказать, как решить проблему?