gpt4 book ai didi

javascript - 什么时候使用 process.nextTick 最好?

转载 作者:行者123 更新时间:2023-11-30 07:55:42 25 4
gpt4 key购买 nike

我从人们那里得到的印象是...除非与 process.nextTick 一起使用,否则所有 JavaScript 函数都是同步的。什么时候使用它最好?

我想确保我不会在不需要它的地方过度使用它。在这一点上,我正在考虑在数据库调用之类的事情之前使用它,但是,同时,据我所知,由于整个“异步 IO”的原因,这些调用在默认情况下是异步的。

是否只有在 JavaScript 边界内进行一些密集工作时才使用它们?比如解析 XML 等?

顺便说一句,已经有一个问题了like this但它似乎死了,所以我又养了一个。

最佳答案

I'm thinking to use it right before something like a database call, however, at the same time, as I understand, those calls are asynchronous by default because of the whole "async IO" thing.

是的。数据库驱动程序本身应该已经是 native 异步的,所以您不需要在这里使用 process.nextTick 来“使其异步”。最耗时的部分是 IO 和数据库内部的计算,因此等待额外的时间实际上只会减慢速度。

Are they to be used only when doing some intensive work within the JavaScript boundaries? Like parsing XML etc?

是的,没错。您可以使用它来防止大型同步函数阻塞您的应用程序。如果你想解析一个 XML 文件,而不是啃它 3 秒,在此期间不能打开新连接,没有收到请求,也没有发送响应,你可以流式传输文件并每次只解析它的一小部分在使用 nextTick 并允许同时完成其他工作之前。

但是,请注意,解析器 应该在内部使用 nextTick 并提供异步 API,而不是调用者在调用解析器之前使用 nextTick .

关于javascript - 什么时候使用 process.nextTick 最好?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40213174/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com