Hello to all,
Been searching this forum here and google about this, after few hours, still no idea why it doesn’t work.
I tried the following code but both return undefined:
Define Method 1:
Meteor.methods({
playerChangeStatus: function(data){
Players.update({_id:data.playerId}, {$set:{
online: data.status
}}, function (error, success) {
console.log(success); // This print out number "1"
if (error) {
throw new Meteor.Error("update-error", "update-error");
} else {
return success
}
});
}
});
Define Method 2:
Meteor.methods({
playerChangeStatus: function(data){
var success;
var error;
Players.update({_id:data.playerId}, {$set:{
online: data.status
}}, function (err, suc) {
console.log(suc); // this print out number "1"
error = err;
success = suc;
});
if (error) {
return error
} else {
return success
}
}
});
Meteor Call:
Meteor.call("playerChangeStatus", data, function(error, result) {
console.log("Player change status callback triggered"); // this print without problem
console.log("Error: " + error); // print undefined
console.log("Result: " + result); // print undefined
if (error) {
console.log("error", error); // as expected, didn't get triggered
}
if (result) {
console.log("driverStatusToggle ONLINE success: " + result); // as expected, didn't get triggered
}
});
I read many questions and answers regarding this issue and just unable to see what is wrong. I did read the documentation too. I follow the documentation on how the callback should look like.
Please advice, thank you.