使用同步的錯誤,你可以窩誤差範圍是這樣的:域可以嵌套在node.js中嗎?
try {
try {
throw Error('e')
} catch(e) {
if(e.message !== 'f')
throw e
}
} catch(e) {
handleError(e)
}
這是我怎麼會想到它的工作,但它不會(似乎是一個域名錯誤處理程序中引發錯誤到頂部,跳過之間的任何域):
var domain = require('domain');
var dA = domain.create();
dA.on('error', function(err) {
console.log("dA: "+ err); // never happens
});
dA.run(function() {
var dB = domain.create();
dB.on('error', function(err) {
throw err
});
dB.run(function() {
setTimeout(function() {
console.log('dB')
throw 'moo'
},0)
});
});
有沒有辦法做到這一點的權利?
在一個域中運行的代碼創建另一個域的事實不會使它們嵌套。 –
值得一提的是,域API將在未來版本的節點中發生變化。 –