Hul*_*ulk 20 javascript typescript angular2-http angular
我理解使用observable我可以在请求完成时执行一个方法,但是我怎么能等到http get完成并使用ng2 http返回响应?
getAllUser(): Array<UserDTO> {
this.value = new Array<UserDTO>();
this.http.get("MY_URL")
.map(res => res.json())
.subscribe(
data => this.value = data,
err => console.log(err),
() => console.log("Completed")
);
return this.value;
}
Run Code Online (Sandbox Code Playgroud)
返回时,"value"将为null,因为get是异步的..
Cha*_*ani -10
您不应该尝试使 http 调用同步运行。从来都不是一个好主意。
在您的getAllUser实现中,它应该从函数返回一个可观察值,并且调用代码应该订阅,而不是您在方法本身内部创建订阅。
就像是
getAllUser(): Observable<UserDTO> {
return this.http.get("MY_URL")
.map(res => res.json());
}
Run Code Online (Sandbox Code Playgroud)
在您调用代码时,您应该订阅并做任何您想做的事情。
| 归档时间: |
|
| 查看次数: |
50014 次 |
| 最近记录: |