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)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。