function addToServer(myid) {
console.log("jayesh"+db.server.find({id:myid})+"\n");
return db.server.find({id:myid});
};
addToServer(myid,function(resp) {
console.log("something");
if(resp.count()>0)
console.log("present");
else
console.log("Nope");
});
我想知道服务器集合中是否存在id = myid的文档。我想回调有一些问题,但作为一个新手,我不太了解它。请帮帮我。谢谢
P.S对于函数我得到输出说" jayesh [object Object]" 什么都没有打印回调方法。
答案 0 :(得分:2)
问题是你试图在异步环境中编写同步代码。
function addToServer(myid, cb) {
db.server.find({id:myid},cb);
};
addToServer(myid,function(err, resp) {
if(err) {
console.log("err");
} else if(resp.count()>0) {
console.log("present");
} else {
console.log("Nope");
}
});
在异步编程中,你不能抛出而不能返回你使用回调!
这些回调是常规调用,错误对象(替代throw
)作为第一个参数,所有其他参数返回数据(替代return
)。