我有一个report.service.ts
有一个简单的方法来获取reports
(这只是一个来自模拟的报告对象的const数组),而它真正做的就是:
@Injectable()
export class ReportService {
getReports() {
var ret = Observable.create(function(observer){ observer.onComplete(REPORTS) });
return ret;
}
}
现在在app.component
我希望得到这些报告。所以我做了:
@Component({
selector: 'workPrioritizer-reports',
styles: [require('./app.css')],
template: require('./app.component.html'),
})
export class ReportsCmp implements OnInit{
reports: Report[];
title = 'Reorder List';
constructor(private reportService: ReportService) {}
getReports() {
var sub = this.reportService.getReports().subscribe(function(x){return x});
return sub;
}
ngOnInit() {
this.getReports()
}
}
就是这样,但它不起作用,显然我在这里做错了,对于可观察者来说是新的:/
谢谢!
答案 0 :(得分:0)
在您的Observable.create
中,您需要使用observer.next(REPORTS)
。
如果您想要调用完整功能,则必须将其更改为observer.complete()
。