Meteor - metody
Metody Meteor to funkcje, które są napisane po stronie serwera, ale można je wywołać po stronie klienta.
Po stronie serwera stworzymy dwie proste metody. Pierwsza doda 5 do naszego argumentu, a druga doda10.
Korzystanie z metod
meteorApp.js
if(Meteor.isServer) {
Meteor.methods({
method1: function (arg) {
var result = arg + 5;
return result;
},
method2: function (arg) {
var result = arg + 10;
return result;
}
});
}
if(Meteor.isClient) {
var aaa = 'aaa'
Meteor.call('method1', aaa, function (error, result) {
if (error) {
console.log(error);
else {
console.log('Method 1 result is: ' + result);
}
}
);
Meteor.call('method2', 5, function (error, result) {
if (error) {
console.log(error);
} else {
console.log('Method 2 result is: ' + result);
}
});
}
Po uruchomieniu aplikacji zobaczymy obliczone wartości w konsoli.
Obsługa błędów
Do obsługi błędów można użyć rozszerzenia Meteor.Errormetoda. Poniższy przykład pokazuje, jak obsługiwać błąd dla użytkowników, którzy nie są zalogowani.
if(Meteor.isServer) {
Meteor.methods({
method1: function (param) {
if (! this.userId) {
throw new Meteor.Error("logged-out",
"The user must be logged in to post a comment.");
}
return result;
}
});
}
if(Meteor.isClient) { Meteor.call('method1', 1, function (error, result) {
if (error && error.error === "logged-out") {
console.log("errorMessage:", "Please log in to post a comment.");
} else {
console.log('Method 1 result is: ' + result);
}});
}
Konsola wyświetli nasz dostosowany komunikat o błędzie.