小编Gus*_*oft的帖子

PURE Javascript 是同步的还是异步的?

根据我的理解,javascript 要么在浏览器中运行,要么在 Node.js 中作为后端运行。

浏览器或 Node.js,取决于您运行 javascript 的位置,将通过 Web API 或 C++ API 的处理函数阻止运行时(即网络调用、图像渲染等),然后将它们发送到事件循环并最终合并它们进入运行 javascript 的单线程。

我不明白的是,当我谷歌“是 javascript 同步还是异步”时,答案是 javascript 是异步的。

但这是真的吗?Javascript 是异步的,因为浏览器或 Node.js 后端中的 web API 或 c++ API,这使得线程在幕后,但 javascript 本身不是异步的?

如果javascript只有一个线程,它必须是一种同步语言吗?

javascript synchronization asynchronous node.js

2
推荐指数
1
解决办法
206
查看次数

为什么需要去抖时间?

我正在我的应用程序的数据表中实现搜索功能。为此,我找到了一个教程,可以在其中添加debounceTime,这样搜索不会立即发生(在我的示例中为150毫秒)。

这样做的目的是什么?

我问的原因是,当我将反跳时间从150毫秒更改为0时,搜索似乎更加顺畅和“更精细”。

我的猜测是,对于运行时还是服务器更好?这是一个微不足道的问题,但仍然使我好奇,希望能更好地理解一般的编码,在我的角度是Angular。

    fromEvent(this.filter.nativeElement, 'keyup')
        .pipe(
            takeUntil(this._unsubscribeAll),
            debounceTime(150),
            distinctUntilChanged(),
        )
        .subscribe(() => {
            if (!this.dataSource )
            {
                return;
            }
            this.dataSource.filter = this.filter.nativeElement.value;
        });
}
Run Code Online (Sandbox Code Playgroud)

debounce angular

1
推荐指数
1
解决办法
69
查看次数