V8:如何正确处理microtasks?

问题描述 投票:0回答:1

在扩展V8,如何参与我/我们必须在确保microtasks正确地管理? V8,在一般情况下,有代码本身之外几乎没有任何文档,但是我发现在microtasks绝对没有。具体而言,我想了解MicrotasksScope以及如何我需要实现它。

node.js v8
1个回答
0
投票

您一般不应该需要使用MicrotasksScope。

通常你要么是使用MicrotasksPolicy::kExplicitMicrotasksPolicy::kAuto

随着KAUTO政策,脚本计算堆栈被清空任何时候,microtasks将会运行。随着kExplicit,你必须自己做,用Isolate::RunMicrotasks

在大多数情况下,默认(kAuto)会工作。如果你是铬或节点,使用kExplicit因为你需要时间的您microtask队列与所有其他平台的东西,如定时器和网络会更有意义。

至于MicrotasksScope,我个人不知道使用它的任何项目,但它会表现得一样KAUTO,除非MicrotasksScope的栈对象清空microtask运行,而不是脚本。

© www.soinside.com 2019 - 2024. All rights reserved.