Node.js - 离开域上下文

时间:2015-07-24 19:40:09

标签: javascript node.js error-handling

我有一系列正在运行的方法,其中一些操作需要一个自包含的域来包装它们的操作。

但是,如果方法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"在它回电之前。

0 个答案:

没有答案