首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >侦听"mongojs“连接错误

侦听"mongojs“连接错误
EN

Stack Overflow用户
提问于 2013-09-11 07:13:49
回答 1查看 1K关注 0票数 2

Mongojs是mongodb本机库的薄包装,但唯一的问题是我无法侦听错误?

需要处理的主要错误是连接错误、无法连接或连接丢失。举个例子,我已经尝试过了。

代码语言:javascript
复制
var mongojs = require('mongojs');

var db = mongojs.connect('reallyRandomStringShouldGiveError', ['sessions', 'unknown']);

// This does not work
db.on('error', function(err) {
        console.log('Catch ', err);
});

db.sessions.insert({ a: 1 });

db.unkknown.find({ a: 1}, function (err, result) {
        console.log(err, result);
});

以及来自"mongojs“库的代码,它应该再次发出错误蒙古源

代码语言:javascript
复制
var connect = function(config, collections) {
    var connectionString = parseConfig(config);

    var ondb = thunky(function(callback) {
        mongodb.Db.connect(connectionString, function(err, db) {
            if (err) return callback(err);
            that.client = db;
            db.on('error', function(err) {
                process.nextTick(function() {
                                    // Errors seems to be emitted again
                    that.emit('error', err);
                });
            });
            callback(null, db);
        });
    });
    var that = new Database(ondb);

    .....

    return that;
};

添加进程侦听器不是最佳选择。

代码语言:javascript
复制
process.on('uncaughtException', function(err) {
    console.log(err);
});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-15 02:22:43

我觉得这对你不管用:

代码语言:javascript
复制
db.on('error', function(err) {
    console.log('Catch ', err);
});

因为这是一个发帖的问题,最终得到了解决,看看这里.因此,您现在可以在任何问题上捕获它(在我的一些编码中,我正以这种方式使用它,而且它正在工作!)

您可以更进一步,并在回调中传递一个err参数,例如:

代码语言:javascript
复制
db.collection.insert( { foo: "foo_value" }, function(err) {
    if (err) {
        console.log(" Woops! The error took place here... ");
    } else {
        console.log(" Everything went neat! ");
    }
});

...to知道错误发生在哪里。这对我来说真的很好。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18734878

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档