Size: a a a

2020 April 16

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Руслан Базяк
через метод set
update тоже можно
источник

РБ

Руслан Базяк in Svelte [svelt]
а через user.update() нельзя заапдейтить только одно значение?
источник

РБ

Руслан Базяк in Svelte [svelt]
обязательно делать get для всех свойств которые не будут изменяться, так?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Руслан Базяк
а через user.update() нельзя заапдейтить только одно значение?
Ты там можешь делать что хочешь, главное вернуть новое значение стора
источник

М

Максим in Svelte [svelt]
Pavel 🦇 Malyshev
В svelte-asyncable )))
это типо новомодный стор?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Руслан Базяк
обязательно делать get для всех свойств которые не будут изменяться, так?
В update у тебя уже есть все
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Максим
это типо новомодный стор?
Жаль, но не такой уж модный и новый)
источник

РБ

Руслан Базяк in Svelte [svelt]
через метод set() у меня получилось, а вот через метод update() не получается даже предварительно сохранив
источник

М

Максим in Svelte [svelt]
Pavel 🦇 Malyshev
Жаль, но не такой уж модный и новый)
а если без него? с ним разбираться надо ))
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Руслан Базяк
через метод set() у меня получилось, а вот через метод update() не получается даже предварительно сохранив
store.update($store => {
   $store.foo = 10;
    return $store;
});
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Максим
а если без него? с ним разбираться надо ))
Да что там разбираться:

export const cities = asyncable(getCities);
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Где getCities возвращает промис
источник

РБ

Руслан Базяк in Svelte [svelt]
Pavel 🦇 Malyshev
store.update($store => {
   $store.foo = 10;
    return $store;
});
ахренеть! сработало!!
источник

РБ

Руслан Базяк in Svelte [svelt]
круто
источник

РБ

Руслан Базяк in Svelte [svelt]
спасибо
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Одна только особенность - значение асинкбл стора всегда промис
источник

М

Максим in Svelte [svelt]
Pavel 🦇 Malyshev
Одна только особенность - значение асинкбл стора всегда промис
получается, чтто авайтится прийдется всегда?
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Руслан Базяк
ахренеть! сработало!!
Если внутри компонента можно и так:

$store = { ...$store, foo: 10 };
источник

РБ

Руслан Базяк in Svelte [svelt]
Pavel 🦇 Malyshev
Если внутри компонента можно и так:

$store = { ...$store, foo: 10 };
красиво )
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Максим
получается, чтто авайтится прийдется всегда?
Да, но это гарантирует что результат всегда актуален. Если просто писать в стор, то первое срабатывание подписок будет со значением по-умолчанию. Тут всегда все ждут реальные данные. Отличие от просто положить промис в обычный стор в том, что в asyncable стор можно ещё и писать и он сам позаботится об апдейтах. Плюс у него есть ещё опциональный второй параметр - setter эффект, который будет вызван при изменении стора (например сохранить апдейты на сервер). Ещё есть опциональный 3-й параметр - массив связанных сторов, при изменении который дёргается getter (первый параметр) со значениями этих сторов в качестве параметров.
источник