发布
社区首页 >问答首页 >节点js回调未与定义函数一起使用

节点js回调未与定义函数一起使用
EN

Stack Overflow用户
提问于 2015-08-19 15:38:17
回答 2查看 34关注 0票数 0

这是包含node和mongo的简单findOne()方法代码

代码语言:javascript
代码运行次数:0
复制
var MongoClient = require('mongodb').MongoClient;

MongoClient.connect('mongodb://localhost:27017/blog', function(err, db) {

    if(err) throw err;
    var users = db.collection("users");
    var query = { '_id' : 'bhavin3052' };

    function getData (err, doc){
        if(err) throw err;

        console.dir(doc);

        db.close();
    }

    users.findOne(query, getData(err, doc));


    /*db.collection('users').findOne(query, function(err, doc) {
        if(err) throw err;

        console.dir(doc);

        db.close();
    });*/
});

当我调用getData()而不是'err‘时,define...which可以很好地处理匿名函数回调。

EN

回答 2

Stack Overflow用户

发布于 2015-08-19 16:29:28

试试这个:

users.findOne(query, getData);

.findOne需要查询和回调,但你取的是getData的查询和结果(结果是未定义的)。

票数 1
EN

Stack Overflow用户

发布于 2015-08-19 16:26:06

users.findOne(query, getData);

您需要将函数对象(getData)传递给findOne函数。如果您这样做:

users.findOne(query, getData(err, doc));

使用未定义的参数调用getData,并将调用结果传递给findOne

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

https://stackoverflow.com/questions/32089294

复制
相关文章

相似问题

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