Platform
База данных в реальном времени
12 мин
как использовать live query в parse server введение live queries предназначены для использования в приложениях с реактивным обновлением в реальном времени , где использование традиционной парадигмы запросов может вызвать несколько проблем, таких как увеличение времени отклика и высокая загрузка сети и сервера live queries следует использовать в случаях, когда необходимо постоянно обновлять страницу свежими данными из базы данных, что часто происходит в (но не ограничивается) онлайн играх, мессенджерах и совместных списках дел в этом разделе объясняется, как использовать live query от back4app в среде javascript через back4app для этого учебника в качестве примера вы создадите онлайн список дел , как показано ниже смотрите полный todo online list проект на https //github com/igor ribeiiro/onlinetodolist узнайте больше о parse sdk на https //parseplatform org/parse sdk js/api/4 3 1/ и https //docs parseplatform org/js/guide/#live queries предварительные требования для завершения этого учебника вам потребуется базовое javascript приложение, подключенное к back4app или к https //github com/igor ribeiiro/onlinetodolist примечание вы можете использовать приложение, созданное в нашем https //www back4app com/docs/javascript/parse javascript sdk или https //github com/igor ribeiiro/onlinetodolist достаточные знания https //docs parseplatform org/js/guide/#queries (но не обязательно) 1 включить live query перед тем как начать кодирование, необходимо иметь класс в вашей базе данных, чтобы включить live query для этого просто найдите ваше приложение на https //www back4app com/ , и нажмите на панель управления панель управления > создать класс создать класс , как показано ниже примечание здесь этот класс будет называться сообщение сообщение теперь, чтобы включить функцию live query, войдите в свою учетную запись на https //www back4app com/ , найдите ваше приложение и нажмите на настройки приложения настройки приложения > настройки сервера настройки сервера найдите блок “url сервера и live query” и нажмите на настройки настройки блок “url сервера и live query” выглядит так затем вы попадете на страницу, подобную приведенной ниже на этой странице вам нужно будет проверить опцию активировать ваш поддомен back4app активировать ваш поддомен back4app , опцию активировать live query активировать live query и все классы, для которых вы хотите активировать live query, как показано ниже необходимо активировать ваш поддомен для использования live queries, потому что он будет работать как живой сервер 2 подпишитесь на ваш запрос чтобы начать использовать livequeries, вам сначала нужно создать livequeryclient livequeryclient , который будет управлять websocket соединениями для вас для этого вам нужно будет предоставить идентификатор приложения, его javascript ключ для целей проверки, а также url сервера, который должен быть доменом, с которым вы настраивали в предыдущем шаге вот код для livequeryclient livequeryclient livequeryclient js 1 var client = new parse livequeryclient({ 2 applicationid 'your app id here', 3 serverurl 'wss\ //' + 'your domain here', // example 'wss\ //livequerytutorial back4app io' 4 javascriptkey 'your javascript key here' 5 }); 6 client open(); после выполнения вышеупомянутых шагов вам следует создать запрос для типа объекта, на который вы хотите подписаться подписка является эмиттером событий, который будет генерировать события, когда происходят изменения в объекте, удовлетворяющем вашему запросу в этом примере вы создадите базовый запрос и подпишетесь на все изменения, внесенные в объект todo todo смотрите больше о запросах в https //docs parseplatform org/js/guide/#queries ниже приведен код для querysubscribe querysubscribe querysubscribe js 1 var query = new parse query('todo'); 2 query ascending('createdat') limit(5); 3 var subscription = client subscribe(query); 3 слушать события с готовой настройкой необходимо закодировать, что ваше приложение будет делать, когда произойдет событие в этой части мы покажем, как слушать эти события на практическом примере пример todo online list будет служить руководством для вашего проекта, потому что используется мало или совсем нет шаблонного кода два основных события, которые вы будете использовать здесь, это событие create create и событие delete delete полный список событий можно найти http //docs parseplatform org/js/guide/#event handling 3 1 событие создания событие createevent createevent срабатывает каждый раз, когда создается parseobject parseobject и удовлетворяет условиям запроса, которые вы вставили это событие возвращает созданный объект в примере todo online list массив активностей хранится в переменной this todos this todos и мы добавим новые объекты из нашей базы данных в этот массив, когда произойдет событие создания код для createevent createevent показан ниже createevent js 1 subscription on('create', todo => { 2 this todos add(todo); 3 console log('on create event'); 4 }); 3 2 событие удаления каждый раз, когда существующий parseobject parseobject удовлетворяющий вашим условиям запроса удаляется из базы данных, вы получите это событие, которое возвращает удаленный объект в примере todo online list вам нужно удалить объект из списка каждый раз, когда он удаляется из базы данных ищите совпадающие id между сервером и кодом, чтобы идентифицировать удаленные объекты код для deleteevent deleteevent следующий deleteevent js 1 subscription on('delete', todo => { 2 this todos foreach(t => { 3 if (t id === todo id) { 4 console log('on delete event'); 5 this todos delete(t); 6 } 7 }); 8 }); готово! на данный момент вы знаете, как использовать live queries для создания реактивных приложений в реальном времени вы также знаете, как правильно настроить live query с помощью back4app и можете начать внедрять это в своем приложении