domain.intercept(callback)
callback
<Function> 回调函数- 返回: <Function> 截获的函数
此方法几乎与
相同。但是,除了捕获抛出的错误之外,它还会拦截作为第一个参数发送给函数的 domain.bind(callback)
对象。Error
通过这种方式,常见的if (err) return callback(err);
模式可以在一个地方用一个错误处理程序替换。
const d = domain.create();
function readSomeFile(filename, cb) {
fs.readFile(filename, 'utf8', d.intercept((data) => {
// Note, the first argument is never passed to the
// callback since it is assumed to be the 'Error' argument
// and thus intercepted by the domain.
// If this throws, it will also be passed to the domain
// so the error-handling logic can be moved to the 'error'
// event on the domain instead of being repeated throughout
// the program.
return cb(null, JSON.parse(data));
}));
}
d.on('error', (er) => {
// An error occurred somewhere. If we throw it now, it will crash the program
// with the normal line number and stack message.
});
相关用法
- Node.js Domain.run(fn[, ...args])用法及代码示例
- Node.js Domain.bind(callback)用法及代码示例
- Node.js Date.isSameDay()用法及代码示例
- Node.js Date.addMinutes()用法及代码示例
- Node.js Date.locale()用法及代码示例
- Node.js Date.format()用法及代码示例
- Node.js Date.addSeconds()用法及代码示例
- Node.js Date.parse()用法及代码示例
- Node.js Decipher.final()用法及代码示例
- Node.js Date.isLeapYeart()用法及代码示例
- Node.js Date.addYears()用法及代码示例
- Node.js Date.preparse()用法及代码示例
- Node.js Decipher用法及代码示例
- Node.js Date.compile()用法及代码示例
- Node.js Date.transform()用法及代码示例
- Node.js Date.isValid()用法及代码示例
- Node.js Date.addMilliseconds()用法及代码示例
- Node.js DiffieHellman用法及代码示例
- Node.js Date.addDays()用法及代码示例
- Node.js DiffieHellmanGroup用法及代码示例
- Node.js Date.addMonths()用法及代码示例
- Node.js Date.addHours()用法及代码示例
- Node.js Date.subtract()用法及代码示例
- Node.js ServerHttp2Stream http2stream.pushStream(headers[, options], callback)用法及代码示例
- Node.js http2.Http2ServerRequest request.url用法及代码示例
注:本文由纯净天空筛选整理自nodejs.org大神的英文原创作品 Domain.intercept(callback)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。