Что произойдет, если из метода, который совместно используется клиентом и сервером, я вызываю другой метод только на сервере? Будет ли это вызвано дважды? Только один раз с сервера? Только один раз от клиента?Meteor - метод вызова от метода client & server
//lib/methods.js
Meteor.methods({
test: function() {
/*do some stuff that needs to update the UI quickly*/
Meteor.call('doSomeSecureStuff', Meteor.isClient);
}
});
//server/methods.js
import secureStuff from './secureStuff.js';
Meteor.methods({
doSomeSecureStuff: function(originIsClient) {
console.log(originIsClient);
secureStuff();
}
});
Из моих тестов он только вызывается один раз с сервера, но так как я не нашел не документ о том, что я хотел, чтобы убедиться, что 1) это то, что на самом деле произошло, и 2) будет оставаться, как это в будущее
(как это было предложено, например, случай использования, для которого я не могу просто обернуть серверную часть в Meteor.isServer
, когда нужно загрузить код, который доступен только на сервере)
Способы применяются только на стороне сервера. они не работают на клиенте. клиент вызывает метод сервера – MrE
Это неверно: методы, запущенные на клиенте, а также симуляция, чтобы обеспечить более быстрое обновление пользовательского интерфейса, а когда приходит ответ от сервера, результаты сравниваются и обновляются в соответствии с сервером, если необходимо. http://docs.meteor.com/#/full/meteor_methods – Guig
Это справедливо только в том случае, если вы явно определяете свои методы для сервера, либо в '/ server /', либо в 'if (Meteor.isServer) {... } ' – Guig