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