我可以将异常抛出代码包装到回调中吗?

时间:2016-01-11 21:27:56

标签: node.js

我正在尝试创建一个使用ldap.js的node.js express应用。但是,ldap.js使用例外,例如在dn.js中:

if (cur >= len || name[cur++] !== '=')
    throw invalidDN(name); // creates a new Error

在我的客户端代码中,我使用function(err,res)模式:

  client.search(groupDn, searchOpts, [], function(searchErr, res) {
    if(searchErr){
      callback(searchErr);
    } else {
      res.on('searchEntry', function (entry) {
        callback(null, entry);
      });

      res.on('end', function () {
        unbind(client);
      });

      res.on('error', function(err) {
        callback(err);
      })
    }
  });

问题是,如果我传入无效的groupDn,它会抛出异常,这意味着它不会通过我的处理程序。

我想知道是否有一种将异常引入function(err,res)模式的通用方法 - 是否有一些自动包装器? (就目前而言,我到处都是乱扔垃圾的尝试/捕捉,但是混合两种截然不同的风格很奇怪)

0 个答案:

没有答案