Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Meteor,如何将回调和错误传递给调用方方法_Javascript_Node.js_Mongodb_Meteor - Fatal编程技术网

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)是否将从客户端站点执行?这取决于您在何处定义它。只要您没有在
服务器
文件夹中定义它,它就应该是。那么我如何才能拒绝客户端的访问?如果您删除了
不安全的
包,则调用它客户端将失败。如果没有,则必须使用允许/拒绝规则。