如何使用 Angular 中的 Typescript 等待来自 Web 服务的响应

用户9515832

如何在此代码中等待响应。在这段代码中,我在 ws 中发布了产品。我的问题是当 ws 的响应被延迟时,可能会发生我多次按下按钮提交的情况。我不得不等待响应无法多次按下按钮。

  public createproduct(newprod: Product): Observable<boolean> {
    let headers = new Headers();
    headers.append('Content-Type', 'application/x-www-form-urlencoded');
    let body = newprod.generateUrlencodedParameters(this.auth.getCurrentUser().token);
    return this.http.post(Api.getUrl(Api.URLS.createproduct), body, {
      headers: headers
    })
      .map((response: Response) => {
        let res = response.json();
        if (res.StatusCode === 0) {
          return true;
        } else {
          return true;
        }
      });
  }

你能告诉我如何实现这个想法吗?

谢谢

森林G

这是一个异步调用。

所以你要做的是,你返回一个 Observable 对象,它会在未来改变并返回一些东西。

您想要做的是在第一次调用后禁用该功能,直到它响应某事。

所以,如果你的按钮是这样的,<button (click)=sendRequest() ...那么你应该像这样实现它:

<button (click)=sendRequest(), [disabled]="areWeWaiting">CLICK ME</button>

areWeWaiting = false;

sendRequest(){
  this.areWeWaiting = true;
  this.someService.createProduct().subscribe(response =>{
   this.areWeWaiting = false;
   // process the call here 
  }, error =>{ this.areWeWaiting = false; //process error here}
  );
}

另外,我建议您删除.map原始服务调用中的部分 - 使用新的httpClient api在需要的地方处理请求

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何保存来自Web服务的Cookie响应?

来自分类Dev

如何等待响应来自 $resource 请求,在 angularjs 中?

来自分类Dev

如何在Angular JS服务中为来自AngularJS服务中$ http调用的响应数据设置变量?

来自分类Dev

解析来自PHP中的HTTP Web服务(JSON)的响应

来自分类Dev

使用来自Web服务的响应来创建XAML列表

来自分类Dev

如何使Spring Web Flux等待服务器中满足指定条件,然后返回响应

来自分类Dev

如何使用TypeScript处理来自API的响应

来自分类Dev

如何从Web服务响应中获取JSON对象

来自分类Dev

如何将响应保存在Web服务的变量中

来自分类Dev

如何从其余Web服务响应中获取数据的特定部分?

来自分类Dev

如何从QT C ++中的Web服务获取XML响应

来自分类Dev

在Swift中使用Web服务中的NSXMLParser解析SOAP响应

来自分类Dev

无法使用 XMLQuery 从 SOAP Web 服务响应中获取值

来自分类Dev

使用Typescript Angular中的接口检查API响应数据

来自分类Dev

等待Web服务的响应时,ASP.NET中的“线程被中止”

来自分类Dev

来自Web服务的异步响应-CXF JAXWS

来自分类Dev

如何在Spring 3.1中使用RESTful Web服务获取JSON响应

来自分类Dev

使用 Python 中的套接字无限等待来自服务器的回复

来自分类Dev

如何使用打字稿处理Angular JS服务中的响应和错误

来自分类Dev

如何在 Angular 2 中获取数组中服务的响应以供使用

来自分类Dev

iOS:当数据来自Web服务作为响应时,如何获取多个经度和纬度的位置名称?

来自分类Dev

在Android中读取.NET Web服务响应

来自分类Dev

无法读取PHP中的Web服务响应

来自分类Dev

Web服务响应中的日期为null

来自分类Dev

C#中Web服务的响应结构

来自分类Dev

无法在 R 中存储 Web 服务响应

来自分类Dev

等待来自CasperJS中<select>字段的选择的AJAX响应

来自分类Dev

使用Angular 2 Http从REST Web服务中获取数据

来自分类Dev

使用Angular 2 Http从REST Web服务中获取数据

Related 相关文章

  1. 1

    如何保存来自Web服务的Cookie响应?

  2. 2

    如何等待响应来自 $resource 请求,在 angularjs 中?

  3. 3

    如何在Angular JS服务中为来自AngularJS服务中$ http调用的响应数据设置变量?

  4. 4

    解析来自PHP中的HTTP Web服务(JSON)的响应

  5. 5

    使用来自Web服务的响应来创建XAML列表

  6. 6

    如何使Spring Web Flux等待服务器中满足指定条件,然后返回响应

  7. 7

    如何使用TypeScript处理来自API的响应

  8. 8

    如何从Web服务响应中获取JSON对象

  9. 9

    如何将响应保存在Web服务的变量中

  10. 10

    如何从其余Web服务响应中获取数据的特定部分?

  11. 11

    如何从QT C ++中的Web服务获取XML响应

  12. 12

    在Swift中使用Web服务中的NSXMLParser解析SOAP响应

  13. 13

    无法使用 XMLQuery 从 SOAP Web 服务响应中获取值

  14. 14

    使用Typescript Angular中的接口检查API响应数据

  15. 15

    等待Web服务的响应时,ASP.NET中的“线程被中止”

  16. 16

    来自Web服务的异步响应-CXF JAXWS

  17. 17

    如何在Spring 3.1中使用RESTful Web服务获取JSON响应

  18. 18

    使用 Python 中的套接字无限等待来自服务器的回复

  19. 19

    如何使用打字稿处理Angular JS服务中的响应和错误

  20. 20

    如何在 Angular 2 中获取数组中服务的响应以供使用

  21. 21

    iOS:当数据来自Web服务作为响应时,如何获取多个经度和纬度的位置名称?

  22. 22

    在Android中读取.NET Web服务响应

  23. 23

    无法读取PHP中的Web服务响应

  24. 24

    Web服务响应中的日期为null

  25. 25

    C#中Web服务的响应结构

  26. 26

    无法在 R 中存储 Web 服务响应

  27. 27

    等待来自CasperJS中<select>字段的选择的AJAX响应

  28. 28

    使用Angular 2 Http从REST Web服务中获取数据

  29. 29

    使用Angular 2 Http从REST Web服务中获取数据

热门标签

归档