ну и ещё можно кешировать всё-таки (это будет иметь смысл если заказывают 3 и более товаров)
скажем, через 3 секунды после последнего нажатия на кнопку добавить в корзину, + или - (чтобы не делать лишних вычислений если он быстро меняет количество)
можно подгружать цены в IndexedDB и там же считать кеши, при повторном входе пользователя на сайт обновлять цены на те, что было закешировано недавно (есть вероятность, что закажет то же самое), кеши стоимости корзины, разумеется, одноразовые...
скажем, через 3 секунды после последнего нажатия на кнопку добавить в корзину, + или - (чтобы не делать лишних вычислений если он быстро меняет количество)