gpt4 book ai didi

javascript - meteor ,如何将回调和错误传递给调用方方法

转载 作者:可可西里 更新时间:2023-11-01 10:23:50 26 4
gpt4 key购买 nike

在我的 Meteor.methods 中有

var post= Posts.insert({...},  function(err,docsInserted){
Posts.update({...} , {...});
});

我想按照 David Weldon 的建议创建一个插入模型 here .我的模型如下所示:

_.extend(Posts, {
ins:function (docID){
return Posts.insert({...});
}
});

在我的方法中我有这个:

var post= Posts.ins(docID,  function(err,docsInserted){
Posts.update({...} , {...});
});

如何在方法中使用回调和错误处理?我希望能够在成功插入 Post 时执行代码。

最佳答案

查看 collection.insert 的文档:

Insert a document in the collection. Returns its unique _id.

Arguments

doc Object

The document to insert. May not yet have an _id attribute, in which case Meteor will generate one for you.

callback Function

Optional. If present, called with an error object as the first argument and, if no error, the _id as the second.

据我了解,如果 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({...} , {...});
}
});

关于javascript - meteor ,如何将回调和错误传递给调用方方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35852311/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com