@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, но примерный алгоритм действий, используемых для таких манипуляций, я не знаю.

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

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

Похожие вопросы