мой первый раз с Метеор сегодня :)Возвращение метод метеор вызова
я сделал простую форму, которая делает запрос POST к рубиновой API, чтобы вернуть AUTH_CODE
Meteor.call("serverEx", emailInput, passwordInput)
прекрасно работает и показывает успешное возвращение в сервер Meteor.
Так что моя проблема в том, что я пытаюсь вернуть эту AUTH_CODE в переменную в клиенте метеора
console.log(finalVar)
не работает, показывает не определено.
Любые идеи? Имея чувство, я пропустил что-то действительно основное.
if (Meteor.isClient) {
Template.templateLogin.events({
'submit form': function(event) {
var emailInput = event.target.email.value;
var passwordInput = event.target.password.value;
var finalVar = Meteor.call("serverEx", emailInput, passwordInput);
console.log(finalVar);
return false;
}
});
}
if (Meteor.isServer) {
Meteor.startup(function() {
// code to run on server at startup
});
/////////////////////
// METHODS
/////////////////////
Meteor.methods({
"serverEx" : function(a, b) {
var httpMethod = "POST";
var httpUrl = "http://xxxxxxx.herokuapp.com/signin";
HTTP.call(httpMethod, httpUrl, {'content-type': 'application/json; charset=utf-8', params: {
email: a,
password: b
}}, function (error, result) {
if (result.statusCode === 200) {
console.log("Success, the authcode is " + result.data.auth_token);
return result.data.auth_token;
}
if (result.statusCode === 401) {
console.log("Login failed, invalided email or password");
}
});
}
});
}
Вы заставляли его работать? – Ethaan
Я пробовал обратный вызов точно так же, как показано ниже, все еще возвращающийся неопределенный. –
Похоже, мне нужно отложить вызов метода до тех пор, пока я не получу полный ответ от отправки формы? Что-то вроде wrapAsync, но я не могу понять, как его обернуть? Любые советы –