我只是从http返回的observable中尝试err = p.SetTLVField(tag, length, []byte(value))
if err != nil {
fmt.Println("Set TLV failed")
return 0, err
}
:
.take(5)
并在HTML中使用它:
this.dataObservable = this._service.getData()
.take(5);
这很有效。但我得到全部记录,我只想要5.我做错了什么?感谢。
在_service中我返回http observable:
<tr *ngFor="let record of dataObservable | async">
答案 0 :(得分:4)
此.take(5)
将使用您的Observable的5个发射,而不是包含数据的5个元素。
您应该在.map
函数中将其限制为5。
或.subscribe
到该observable并在该函数中,您将限制传入数据存储在一个局部变量中,该变量将绑定到您的模板。
getData(): Observable<any[]> { // returns an array, right??
url = '/getData';
this._data = this._http.get(url)
.map(response => this.extractData(response));
return this._data;
}
//在您的组件中
this.yourService.getData().subscribe(
dataArray => this.data = dataArray.slice(0, 5),
err => console.log(err)
);
this.data
将绑定到您的模板。