gpt4 book ai didi

node.js - Node 光纤会破坏 Node 域吗?

转载 作者:太空宇宙 更新时间:2023-11-03 23:42:55 27 4
gpt4 key购买 nike

我目前正在使用 Node 光纤来编写同步服务器端代码。我主要通过 try-catch block 进行错误处理,但外部库或其他小部分异步代码中总是有可能发生错误。我正在考虑使用新的域功能来尝试将这些错误路由到正确的请求,我想知道是否有人尝试过在同一应用程序中使用纤程和域。

根据域在幕后的工作方式,我可以想象光纤可能会打破一些用于将异步代码与正确域关联的假设。具体来说,我担心域可能会执行如下操作来跟踪上下文,这可能会因纤程而中断,因为纤程会破坏函数在任何其他代码运行之前运行完成的保证:

run_in_domain = function(to_run) {
var old_domain = global_domain;
global_domain = new_domain();
try {
to_run();
} finally {
global_domain = old_domain;
}
}

是否有人成功或失败地尝试过让光纤和域一起发挥作用?

最佳答案

我写了一篇关于 Node 域如何工作的文章。 How Node Domains Work

基本上,它们的工作方式与process.on('uncaughtException')类似。

我可以看到 Node 纤维的作者声明您可以使用process.on('uncaughtException')来处理 Node 纤维的异常,所以应该不会有问题。请参阅Handling Uncaught Exceptions in a Fiber

关于node.js - Node 光纤会破坏 Node 域吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19732733/

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