Для пользователя транзакция как бы успешна мгновенно
И сам клиент у себя должен сделать balance -= itemPrice?
да он изначально это должен сделать чтобы проверить на своей стороне возможность отправки команды как таковой
Ок. Спс. Так а если в результате команды на клиенте будут сложные изменения в стейте, он тоже должен знать, как изменить себя?
Я и просил пример про вот эти сложные изменения Ваще не представляю как команда может давать сложные изменения
Юзер делает запрос на радномный приз. Тут вообще результат не предугадать. Или refresh page for check your surprise?
Тут согласен тут реквест респонс синхронный надо без него никакю Тут никакакого смысла городить асинзронные басы нет Жто пример о самой природе запроса тут сложного стейта о котором вы говорили нет. таже как и с платежами через пейпал например там мы ждем синхронно ответа а дальше уже можем все делать по оптимистичному пути
Ну хз. Как сказать. Купили товар: списался баланс, количество доступных умешилось, товар с корзины пропал, количество товаров для получение купона уменьшено, рекомендации обновились.
кстати можно примерно делать как алиэкспресс делал они изначально засылали выиграл ли пользователь или нет а кнопочка прсото показывала этот факт ну и отправляла команду подписаннуб о том что да мол он выиграл при нажатии кнопки
Посему меня это должно волновать? вы пока платите это может минут 10 занять за это время уже и цена может помеянтся вы предлагаете брать денег а потом выдавать ошибку ой у нас ошибка идите нахер спаисбо за деньги?
Ну например у меня есть Менджер процесса покупки, который будет выдавать евенты по мере процесса. И какждый этап будет идти сообщение клиенту.
это бизнес требование а не техническое. как захочет бизнес
да а ваша задача сказать мв можем по вашему но тогда нам надо сервер с базой который может кучу транзакций и быстро отвечать нам надо 10000$ в месяц Или мы внедряем логику с рефандами и тгда даже на черну пятницу хватит сервера ща 1000$ в месяц А дальше уже смотреть что бизнес хочет
А как вы собираете говорить об этом клиенту? После перезагрузки страницы?
например Email. Как амазон делает
@GDXbsv Этот кейс
Яндекс.хавка например приостанавливает заказ и сообщает клиенту, что цена изменилась
нахера нам все это знать? Еафига пользовтелю знать ОН уходит на thank you страницу с подробностями заказа ему больше ничего не надо из того что вы описали
А у нас spa например.
что это меняет? ПОльзователь все равно уходит на страницу завершения заказа все данные о заказе у нас есть еще до оплаты
Ему же нужно обновить бонусы, корзину, баланс, рекомендуемые? Или всё это клиент должен знать?
у вас 2 варианта тут 1. сокеты для получения актуальной инфы с сервера 2. клиент сам пересчитывает везде есть плюсы и минусы
Если бонус придет с задержкой в 2 дня даже не думаю что польщователб станет от этого как то сильно хуже Мне computeruniverse их вообще только после доставки дал корзина у вас просто очищается какие там проблемы? баланс нам так и так надо проверять во время начала работы вычесть что то из чего то как обсуждали не велика проблема рекомендунмые если новые начнут показыватся через час тоже не проблема при этом рекомендуемые можно начать показывать как в на сттраницу товара зашли не надо ждать заказа заказ может скоректировать рекомендуемые хоть через час или вы собрались заставлять пользователя ждать пока рекомендуемые не пересчитаются?
В том и вопрос: Я за 1 Sergei за 2
Вы держите в голове если вы хотете получить все жто с сервера сразу же то вам надо заставить польщзователя ждать этого и значит ошибка в рекомендумых заруинит вам заказ что как бы такое себе
я вообще не вижу смысла спорить о подходах, каждый выбирает что удобнее
Не всё сразу. Команда добавится в очередь. Обработается. В процессе обработки нагенерится много евентов. И по мере их получения будем обновлять клиент
ну тоесть будем польщовтелю Крутилки показывать пока не получим ивента? а если очередь большая то пусть ждет 10 минут загрузки всего?) Это попахивает успешным сайтом!)
Не, я не говорю так. Возможно нужно скомбинировать: напр. уменьшить баланс и очистить корзину сразу. Остальный изменения слушать по вебсокету например.
Обсуждают сегодня