我试图打破基于表达式的函数,但是在范围界定方面遇到了麻烦。这是代码片段:
function createService(dict, res) {
// Ensure no duplicate
var serviceExists = Service.find({name: dict['name']}).count().exec(function(err, doc) {
return (doc !== 0);
});
console.log(serviceExists);
if(serviceExists){
res.send(500, "Duplicate document. Try updating existing entry or chooseing a different name");
return;
}
//Insert the document
service = new Service(dict);
service.save(function(err) {
if(!err) {
res.send("Service saved");
}
});
}
console.log() 的输出:
{ emitted: {},
_events: { err: [Function], complete: [Function] } }
这里的最终目标是,如果 doc !== 0,代码将不会到达“插入文档”部分。请让我知道这样做的正确方法(也许使用异常?这是我剩下的唯一想法)。谢谢