В чем разница между публикацией / подпиской и методом?где / когда мы используем метод и публикуем / подписываемся?
Так что если вам нужна логика, вам не нужен pub / sub.Методы предназначены для логического публикации / подписки для обработки данных.
Важное примечание: Если вам нужно работать с данными из коллекции метеора по методу, вы должны принять это во внимание, если метод выполняетсяна стороне сервера он имеет доступ ко всем данным (коллекциям).Если метод выполняется на стороне клиента, он имеет доступ только к опубликованным данным.
С другой стороны, согласно вашему примеру, вам не нужны никакие данные, поэтому я пропущу их.
Я настоятельно рекомендую использовать проверенные методы:
https://github.com/meteor/validated-method
Теперь давайте перейдем к примерам
Представьте, что у вас есть метод
export const calculate = new ValidatedMethod({
name: 'logic.calculate', // methods are usually named like this
validate: new SimpleSchema({ // use SimpleSchema to autovalidate parameters
x: {
type: Number
}
}).validator(),
run({ x }) {
const y = 2;
return y*x;
}
});
На заметку: 1. Файл должен быть импортирован на сервер куда-нибудь.2. Вам нужно использовать проверку
Теперь вызовите ее на клиенте
Meteor.call('logic.calculate', { x }, (error, result) => {
if (error) {
do something
}
console.log(result);
});
Кроме того, вы можете напрямую импортировать метод и вызывать его следующим образом:
import { calculate } from '../../api/logic/methods';// use real method path here
calculate.call({ x }, (error, result) => {
if (error) {
do something
}
console.log(result);
});
Обратите внимание, что для проверенных методов аргумент является объектом