А если на этот стор подпишется ещё какой нибудь компонент, то будет снова функция вызываться ?
И почему никто не хочет использовать чужие наработки. Тут все есть: https://github.com/sveltetools/svelte-asyncable
Optimistic UI pattern included. — эт што значит? Как работает?
Если ты измеряешь стор (канонический пример из лайков в вк): likesCount.update(...); Выполняется setter сайд эффект, например запрос к серверу, но стор изменяемся сразу и UI апдейтится сразу, но если запрос упал, то изменения стора автоматом откатятся
Попробовал воспользоваться, в целом прикольно) но я не понял как засетить валью красиво, получилось как-то так const loadProfile = (profile: Profile) => { userStore.update($user => { $user.then(user => { user.msisdn = profile.msisdn; user.gender = profile.gender, user.msisdn = profile.msisdn, user.isAuthenticated = true, user.language = profile.language }) return $user; }); }
ну да, только надо еще setter написать (второй параметр в asyncable), который при обновлении стора отправит данные на сервер или в localStorage или еще какой-то сайд-эффект сделает. если это надо конечно
а блин, вкурил пример. в asyncable не нужно вручную выставлять начальное значение через set/update, только если надо его поменять уже на клиенте. getter эффект, который ходит на сервер за значением описывает декларативно при объявлении стора. он будет вызван каждый раз, когда появляется новый 1-й подписчек. также он может быть перевызван, если в asyncable привязаны другие сторы и они поменялись.
Обсуждают сегодня