angular6利用 toPromose方法处理异步请求

本文探讨在Angular6中如何使用Promise来处理异步请求,尤其是在页面加载时确保请求按照预期顺序执行。文章通过示例代码说明了Promise的用法,解决了由于HTTP请求异步性质导致的数据赋值问题。作者分享了在实践过程中遇到的问题,包括错误的catch使用和then方法中声明返回值类型的注意事项,并推荐了相关博客资源。
摘要由CSDN通过智能技术生成

在异步请求中
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('刚执行完'&
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值