Size: a a a

2020 April 16

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Например твой список городов зависит от страны, которая выбирается в списке стран и пишется в стор country;
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
export const country = writable();

export const cities = asyncable(
 getCities,
 null,
 [ country ]
);

async function getCities(country) {
  const res = await fetch(`/api/cities/${country}`):
  return res.json();
}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
<select bind:value={$country}>
 ...
</select>

{#await $cities}
  Loading cities...
{:then cities}
<ul>
  {#each cities as city}
    . ...
  {/each}
</ul>
{/await}
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
собственно это весь код
источник

М

Максим in Svelte [svelt]
ок, спс, завтра попробую
источник

SK

Sergei Kasoverskij in Svelte [svelt]
Pavel 🦇 Malyshev
собственно это весь код
Не думал значение опционально кэшировать чтобы при вызове сеттера не дергать get?
источник

VS

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

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

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Sergei Kasoverskij
Не думал значение опционально кэшировать чтобы при вызове сеттера не дергать get?
Думал, показалось что игра не стоит свеч. Для тех целей, которых сделан asyncable кол-во операций на изменение стора не критично. Если вдруг есть задача когда апдейты в стор идут очень часто, я бы не стал его использовать и даже не из-за get, но из-за всей этой внутренней возни с промисами. Лучше взять обычный writable стор если нужно прям часто-часто в него писать.
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Кстати в asyncable ещё немного optimistic UI реализовано. При апдейте значения стора, оно выставляется моментально, но если есть асинхронный setter (второй параметр) и он зафейлился (выбросил эксепшн, например сервер не принял изменения), то стор автоматом откатится на предыдущее значение.
источник

my

maxim yurasov in Svelte [svelt]
Pavel 🦇 Malyshev
Кстати в asyncable ещё немного optimistic UI реализовано. При апдейте значения стора, оно выставляется моментально, но если есть асинхронный setter (второй параметр) и он зафейлился (выбросил эксепшн, например сервер не принял изменения), то стор автоматом откатится на предыдущее значение.
а о этих asyncable вообще есть в хэлпе? или я не туда смотрю или как..
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
maxim yurasov
а о этих asyncable вообще есть в хэлпе? или я не туда смотрю или как..
Это мой custom стор)
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Рекламирую немного 🤏
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Но тогда когда спрашивают 😎
источник

my

maxim yurasov in Svelte [svelt]
Pavel 🦇 Malyshev
Рекламирую немного 🤏
я редко сюда заглядываю(( есть где почитать кроме истории тут? )
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
maxim yurasov
я редко сюда заглядываю(( есть где почитать кроме истории тут? )
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Ридми)
источник

my

maxim yurasov in Svelte [svelt]
спасибо!
источник

PM

Pavel 🦇 Malyshev in Svelte [svelt]
Правда он так себе, как и все мои ридми) надо к Ситнику сходить на разгром опенсорса чтоли. 🤔
источник

DN

Denys Novakov in Svelte [svelt]
Руслан Базяк
но я сделал когда fetch внутри promise
а как вы предлагали сделать не получается.
Давай рабочий код, посмотрим что можно сделать.
источник

РБ

Руслан Базяк in Svelte [svelt]
собственно код сейчас выглядит так:
https://ru.svelte.dev/repl/22155f98a41f452ea3340033abf2d260?version=3.20.1
источник