Javascript Meteor,如何将回调和错误传递给调用方方法
在我的流星中,我有Javascript Meteor,如何将回调和错误传递给调用方方法,javascript,node.js,mongodb,meteor,Javascript,Node.js,Mongodb,Meteor,在我的流星中,我有 var post= Posts.insert({...}, function(err,docsInserted){ Posts.update({...} , {...}); }); 我想按照David Weldon的建议创建一个插入模型。 我的模型如下所示: _.extend(Posts, { ins:function (docID){ return Posts.insert({...}); } }); 在我的方法中,我有: var p
var post= Posts.insert({...}, function(err,docsInserted){
Posts.update({...} , {...});
});
我想按照David Weldon的建议创建一个插入模型。
我的模型如下所示:
_.extend(Posts, {
ins:function (docID){
return Posts.insert({...});
}
});
在我的方法中,我有:
var post= Posts.ins(docID, function(err,docsInserted){
Posts.update({...} , {...});
});
如何在方法中使用回调和错误处理?我希望在帖子成功插入后能够执行代码。查看文档了解: 在集合中插入文档。返回其唯一的_id 论据 文档对象 要插入的文档。可能还没有_id属性,在这种情况下Meteor将为您生成一个 回调函数 可选。如果存在,则以错误对象作为第一个参数调用,如果没有错误,则以_id作为第二个参数调用 据我所知,如果
ins
成功执行,则需要执行回调函数。根据这些信息,我将如何构建代码:
_.extend(Posts, {
ins:function (docID, callback){
Posts.insert({...}, function( error, id ) {
if( error ) {
callback( error, null );
} else {
callback( null, id );
}
});
}
});
你实际上不需要归还任何东西。您可以只执行回调函数并适当地传递参数。然后可以使用以下代码调用该函数:
Posts.ins(docID, function(err,docsInserted){
if( error ) {
// Handle error.
} else {
Posts.update({...} , {...});
}
});
谢谢你的回复。另一个问题是,新模型方法(ins)是否将从客户端站点执行?这取决于您在何处定义它。只要您没有在
服务器
文件夹中定义它,它就应该是。那么我如何才能拒绝客户端的访问?如果您删除了不安全的
包,则调用它客户端将失败。如果没有,则必须使用允许/拒绝规则。