即使在使用setTimeout之后,也从meteor中的方法返回json
我正在创建一个方法,该方法将客户保存在数据库中,并将json格式的响应返回给调用方法。这是我的密码:即使在使用setTimeout之后,也从meteor中的方法返回json,json,meteor,Json,Meteor,我正在创建一个方法,该方法将客户保存在数据库中,并将json格式的响应返回给调用方法。这是我的密码: Meteor.methods({ 'Registration': function() { name = "Hardik"; contact = ""; email = "admin@gmail.com"; password = "123"; Meteor.setTimeout(function() {liveDb.db.query('In
Meteor.methods({
'Registration': function() {
name = "Hardik";
contact = "";
email = "admin@gmail.com";
password = "123";
Meteor.setTimeout(function() {liveDb.db.query('Insert Into Customer (Customer_Name, Customer_Contact, Customer_Password, Customer_Email) values ("'+name+'","'+contact+'","'+password+'","'+email+'")',
function(error, result){
if(result!='undefined' && result.affectedRows>0)
{
var r = {message : "Customer Added Successfully.", statuscode: "200", customerid : result.insertId};
return r;
}
else
{
var r = {message : "Something Went Wrong", statuscode: "400", error : error};
return r;
}
});},1000);
}
});
但当我试图在客户机中获取返回值时,却一无所获
客户端代码:
Meteor.call('Registration', function (error, result) {
console.log(result);
});
问题是您试图从异步回调返回响应
这个问题的答案已经在这里给出了我认为,您的调用是异步的,所以您会在一段时间后得到响应,而且您是从回调方法返回的,而不是从原始方法返回的。由于异步,可能会重复调用。让我检查一下,即使在使用setTimeout之后,我也面临同样的问题。你能解释一下超时的原因吗?