【问题标题】:From lodash debounce to angular 6 reactive从 lodash debounce 到 angular 6 reactive
【发布时间】:2019-07-20 01:02:18
【问题描述】:

我有一个奇怪的问题,如果是重复的某个答案,我很抱歉(但是我仍然找不到我的问题的解决方案)。

问题是我正在将旧的 Angular JS 应用程序改造成 Angular 6 应用程序。而且我在旧应用程序中具有去抖动功能:

var debouncing = _.debounce(changeValue, 10000);

function changeValue() {
    // some increment stuff for example
}

debouncing();

现在我需要重写它以使其在没有 lodash 的情况下运行。起初我想使用setTimeout,但后来我找到了debounceTime。但它只能应用于科目。但是我的changeValue 是一个简单的函数。

在 Angular 6 方面如何避免使用 lodash?

【问题讨论】:

    标签: javascript angular lodash reactive-programming


    【解决方案1】:

    首先,让我们将您的函数转换为可观察对象:

    const changeValue$ = defer(() => of(changeValue()));
    

    那么,我们来申请debounceTime

    changeValue$.pipe(debounceTime(1000)).subscribe(...);
    

    【讨论】:

      猜你喜欢
      • 2018-08-11
      • 1970-01-01
      • 2018-09-27
      • 2015-05-21
      • 1970-01-01
      • 2019-04-08
      • 2021-02-25
      • 2018-10-11
      • 1970-01-01
      相关资源
      最近更新 更多