【问题标题】:Prevent multiple HTTP requests防止多个 HTTP 请求
【发布时间】:2018-08-09 18:01:06
【问题描述】:

这是一个简单的问题。我正在使用 angular2+ 应用程序,单击按钮时我正在执行 HTTP Post 请求,但需要一段时间才能响应。问题是当用户在我得到响应之前多次点击按钮时。我已经用传统的方式弄清楚了。创建一个锁定变量,确保在执行函数之前它为假,并在它执行时为真,当我得到响应时将其设置回假。 但我想知道是否有 RX 智能方法可以做到这一点?谢谢

【问题讨论】:

    标签: angular rxjs


    【解决方案1】:

    你的方法听起来不错。或者,您可以对发出 HTTP 请求的函数进行去抖动处理。为此使用 lodash debounce。我确实查看了是否有 RxJs 替代去抖动,但没有找到。我尝试了 debounceTime,但这不是我想要的行为。

    【讨论】:

    【解决方案2】:

    请分享代码。您可以使用 RXJS 共享运算符。

    return this.service.pipe(
      map(response=> response),
      share()
    );
    

    【讨论】:

      猜你喜欢
      • 2021-03-22
      • 1970-01-01
      • 1970-01-01
      • 2019-10-05
      • 1970-01-01
      • 1970-01-01
      • 2020-08-31
      • 2016-10-15
      • 1970-01-01
      相关资源
      最近更新 更多