2015-08-05 1 views
1

Мне нужно что-то подтвердить. Учитывая, что публикация возвращает курсор, а курсор - это дескриптор соответствующей коллекции на стороне клиента:Должен ли я выполнять ленивую загрузку на основе клиентского курсора или публикации?

До тех пор, пока я не fetch() документов курсора, я действительно не скачал их данные?

Означает ли это, что это может быть хороший подход для фильтрации опубликованных документов в публикации и ленивой загрузки их на стороне клиента?

ответ

1

До тех пор, пока я не получаю() документы курсора, я действительно не загрузил их данные?

Это неверно. Когда клиент подписывается на публикацию, сервер сразу же отправит весь набор соответствия, даже если клиент не использует данные в течение некоторого времени. Вот почему fetch на клиенте может возвращать документы синхронно (при условии, что подписка ready()).

Если вы не хотите, чтобы клиент что-то загружал, вам нужно отфильтровать его в функции публикации.

+0

Вы также можете отслеживать состояние загрузки с помощью реактивного ['ready()') (http://docs.meteor.com/#/full/meteor_subscribe). –

+0

Хорошо. Спасибо за ответ. Я разделяю свои объекты по каналам, каждый из которых фильтруется в зависимости от того, является ли пользователь членом канала. Это будет больно, чтобы ленить загружать элементы каждого канала в публикации (3 первых элемента или 9 предметов). – Billybobbonnet