Влияет ли Meteor.call на оптимистичный пользовательский интерфейс?
Когда я делаю Meteor.call вместо прямой манипуляции коллекцией на клиенте и сервере. Удаляет ли он оптимистичные изменения пользовательского интерфейса, также как и изменения минимонго, и просто направляет изменения на сервер и ждет обновления на сервере перед обновлением пользовательского интерфейса?
1 ответ
Прочитайте последний раздел документа Meteor о том, как работает компенсация задержек.
В итоге
Вы теряете оптимистичные изменения данных, как и предполагали, если ваш Meteor.method определен только на стороне сервера. В этом случае, когда ваш клиент вызывает метод, вы, по сути, вызываете службу REST и ждете ответа на стороне сервера, прежде чем ваш клиент сможет обработать ответ.
Когда вы выполняете манипулирование коллекцией на стороне клиента, клиентская сторона имитирует изменения в minimongo, затем сообщает серверу изменить коллекцию, а затем сервер обновляет клиента с помощью изменений на стороне сервера (принятых или отклоненных).
Примечание. Если вы передадите Meteor.method клиенту и серверу, вы получите оптимистичный характер. Я никогда этого не делал, но прочитал ссылку