domain.run(fn[, ...args])


在域上下文中运行提供的函数,隐式绑定在该上下文中创建的所有事件触发器、定时器和底层请求。可选地,参数可以传给函数。

\Run the supplied function in the context of the domain, implicitly binding all event emitters, timers, and low-level requests that are created in that context. Optionally, arguments can be passed to the function.

这是使用域的最基本方式。

\This is the most basic way to use a domain.

const domain = require('node:domain');
const fs = require('node:fs');
const d = domain.create();
d.on('error', (er) => {
 console.error('Caught error!', er);
});
d.run(() => {
 process.nextTick(() => {
 setTimeout(() => { // Simulating some various async stuff
 fs.open('non-existent file', 'r', (er, fd) => {
 if (er) throw er;
 // proceed...
 });
 }, 100);
 });
}); 

在本例中,将触发 d.on('error') 句柄,而不是使程序崩溃。

\In this example, the d.on('error') handler will be triggered, rather than crashing the program.

AltStyle によって変換されたページ (->オリジナル) /