在异步请求中
1、我们可以用async管道来控制,如
<p>{
{ promise | async }}</p>
2、或者直接使用Promise方法
问题场景:
一进入页面的情况下直接请求后台接口,由于他本身的特点,html的http请求会最后执行。
虽然你写的位置是在上面,他在执行的时候会直接跳过,从http中获取的参数,导致无法赋值【undifined】
使用场景:
遇到这种情况,我们可以用Promise来要求它,按照我们写代码的顺序执行请求
demo:【值得注意的是catch和then都会影响执行顺序,为了得到其中的值,就不写catch了,如果写了执行时会直接跳过】
getHero(): Promise<any> {
return this.http.get(this.tableDataStructureUrl).toPromise();
}
//报错方法
private handleError<T>(operation = 'operation', result?: T) {
return (error: any): Observable<T> => {
return of(result as T);
};
}
调用:
console.log("xxxx")
console.log('刚执行完'&