我有一個產品服務,其方法從json數據返回一個Observable。Rx訂閱OnComplete引發火災,但無法使用數據
product.service.ts ....
getProducts(): Observable<IProductData[]> {
return this._http.get(this._productUrl)
.map((response: Response) => <IProductData[]> response.json())
.catch(this.handleError);
}
以我分量I訂閱中的service並調用的getProducts()方法返回的可觀測IProductData []。
mycomponent.ts ..
productData: IProductData[];
ngOnInit(): void {
this._productService.getProductsObservable()
.subscribe(
productData => this.productData = <IProductData[]>productData,
error => this.errorMessage = <any>error,
function() { console.log(this.productData) }
);
}
當我回顧onCompleted的console.log this.productData是不確定的!
我想使用此數據來設置我的組件中的字段。何時/如何確定數據已被返回?
如果我輸出this.productData上的按鈕單擊事件數據已填充,但我想在init上這樣做。
任何建議或意見將不勝感激。
歡呼
謝謝保羅就是這樣!我現在對箭頭函數在JavaScript中的工作方式有了更清晰的瞭解:) – Ianbara