@friktor

Как установить обработчики Socket.IO в SailsJS на стороне клиента в DOM?

После того как я решил написать простой тодошный список дел с использованием сокетов, я полез в офф доки, из доков я понял, что действие связывания происходит по принципу: в контроллер ставится обработчик, который оповещает обо всех изменениях в Модели, и называется он subscribe.

Далее на стороне клиента в JS можно использовать функции базового suckat socket.io, а также дополнительные пряники самого Sails, которые описаны в той же страничке доков, немного упершись рогом в использовании этого функционала я посмотрел stackoverflow - в котором мне указали посмотреть каст по использованию сокетов.

Основную суть я уловил и смог заставить свой контроллер следить за обновлениями по методу, который указали в касте
subscribe: function (req, res) {
		Task.find(function foundTask (err, tasks) {
			if (err) return next(err);

			// оповещает когда создается запись
			Task.subscribe(req.socket);
			// оповещает когда произошло обновление или удаление
			Task.subscribe(req.socket, tasks);
		});
	}

Но я никак не могу понять, как на стороне клиента можно создать обработчик, который смог бы обновлять список?

Я понял, что все сводится к тому, что при обновлении нужно сделать так, чтобы это обновление передавалось списком в DOM с помощью даже банального jquery, но примерный алгоритм действий, используемых для таких манипуляций, я не знаю.

Если можете, подскажите алгоритм, статью, доки, или пример кода для данной задачи.
  • Вопрос задан
  • 2517 просмотров
Пригласить эксперта
Ответы на вопрос 1
Ayahuaska
@Ayahuaska
Хочу знать всё.
subscribe подписывает вас на те или иные события. Если я правильно всё понимаю, то в методах контроллера меняющих модель, нужно выщвать методы publish, например publishCreate.
Тогда все подписанные клиенты получат сообщение.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы