169 похожих чатов

Насчет подписок на мутации я вел к тому, что какой

смысл на них подписыватся, если нужно сначала данные сохранить, а потом уже синхронизировать. а то получается что мутация на клиенте отработала, событие улетело, а в БД ошибка, и что делать?

1 ответов

7 просмотров

верно подметили) спасибо! подписки на мутации нужны но не в моём случае в моём случае таки нужно подписка на ws события которые при срабатывании будут запускать нужную мутацию Касаемо сперва ожидания ответа от сервера (авось ошибка) получается например если привести пример не со статьями а с чатом, где я отправляю сообщение. по нормальному я не должен видеть прелоадер пока оно там оно обрабатывается сервером..я вижу его в списке всех сообщений, то есть обновился store но вот другие участники чата этого обновления не увидят пока сервер не обработает инфу. Как я понимаю процесс в деталях: 1) Клиент набирает сообщение, отправляя его он либо сразу регистрирует событие сокета с передачей ему отосланного сообщения либо сперва вызывает мутацию в локальном сторе а уже потом регистрирует сокет-событие. Тут же нужно подписаться на сокет-событие успешного/неуспешного сохранения сообщения в базу результатом работы которого будет вновь же мутация. Сложность получается лишь в описании мутации, что нам надо не тупо пушить сообщение а смотреть нет ли его ещё с общем списке, и смотреть payload 2) Сервер слушает сокет событие, полученное сообщение добавляет в базу, 3) При успешном сохранении в базу сервер регистрирует сокет-событие на которое подписался клиент и возвращает ему его же сообщение но скажем ещё со статусом. 4) Клиент подписавшись ранее на сокект событие получает отправленное в чат сообщение со статусом и вызывается мутация которая и решает что делать - удалять сообщение из чата или что-то другое (типичный пример когда были неполадки в вк или в процессе отправки у вас вай-фай отрубился - сперва сообщение ушло в чат, и даже сохранилось локально но адресату не дошло и красненьким подсветилось - не удалась отправка, или проверьте соединение..и тд)

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

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Ребят, а за скок можно впарить анон чат с апишкой и веб админкой ?
Eugene Неелов
15
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Ещё такой вопрос. Мне необходимо хранить пароль пользователя локально. Для этого планирую использовать ini файл. Это для автозаполнения полей логин и пароль при авторизации. Е...
Евгений
19
Привет, имею проблему с better-sqlite3 модулем. После npm install я делаю ребилд модуля под свою текущую версию ноды с помощью npx electron-rebuild -f -m node_modules/better-s...
Anton Samofal
2
Anyone knows how to build this widget in Flutter? I have all the assets for round stations and the road, but how can I make the my widget animate between these stations? And h...
Mohammad Zamani
8
Ты просто гитлеровскую эстетику плохо понимаешь. Он же всё под Цезаря делал. А это как бы запрещённый приём в политике. Пиджаки они зачем все носят? Чтобы показать что они тип...
Ivan Kropotkin
4
hello everyone can you help me above picture figma that give me and belove picture postman that give me api and is it match these?
Sardorbek
6
а чем лучше всего сделать глобальный лок, если много нодов, до сотни? ну то есть мне надо, чтобы некоторые операции с объектом не происходили одновременно. перемещение между н...
Д. П.
15
Anyone from Nigeria??
Mr ROBOT🤖
7
Карта сайта