我有一系列正在运行的方法,其中一些操作需要一个自包含的域来包装它们的操作。
但是,如果方法1具有域,则方法3不会,但碰巧会抛出错误。如何防止方法1的域捕获该错误?
我遇到的所有域名示例似乎都没有解决这样的问题。
受挫的例子:
enter code here
var domain = require('domain');
// should succeed
var firstThing = function (next) {
var d = domain.create();
d.on('error', function (err) {
console.log('firstThing: Some error occurred', err);
next(err);
});
d.run(function () {
setTimeout(function () {
// did some stuff
console.log('did first thing');
next();
}, 100);
});
};
var goodThing = function (next) {
console.log('doing good thing');
next();
};
var badThing = function (next) {
console.log('doing bad thing');
throw new Error('death');
next();
};
firstThing(function (err) {
console.log('err?', err);
goodThing(function (err) {
console.log('err again?', err);
badThing(function (err) {
console.log('bad news', err);
});
});
});
我基本上正在寻找一种方法来结束"域名" firstThing"在它回电之前。