【发布时间】:2012-09-23 19:55:10
【问题描述】:
这与使用主干的客户端或服务器端应用程序相关。我正在尝试创建一个对 MongoDB 或一些 REST 调用(取决于环境)进行唯一性检查的验证函数。这两个调用本质上都是异步的;但是,我认为我实际上需要在这里阻止它以进行验证。如果我不返回任何内容,验证函数将假定验证已通过。
我的代码目前在服务器端看起来像这样:
isUnique: function (key) {
var dfdFindOne = this.findOne({key: this.get(key)}),
dfd = new Deferred();
dfdFindOne.done(function (err, result) {
console.log(result);
dfd.resolve(true);
});
return dfd;
};
...这里有一些东西....
我觉得在我回来之前我可以在这里做一些等到完成的功能......也许不是。我希望主干提供回调函数或其他东西或接受某种延迟类型的东西。
validate: function() {
var result = undefined;
if(!this.isUnique(key).done(function(){
result = "AHHH not unique!";
});
return result;
}
一个可能的解决方案可能是强制 mongodb 的本地节点客户端同步调用事物。我想我可以对休息电话做同样的事情......不过这可能是一个糟糕的解决方案。
【问题讨论】:
标签: validation node.js mongodb backbone.js