Size: a a a

2020 June 28

m

makoven in ☄️ effector
Mark Cholak
Интересное приложение ты пишешь 👀
Ну так пандемия. У заказчика сроки горят
источник

m

makoven in ☄️ effector
Правда вместо souls у него shoes..
источник

S

Sm•ok 😈✔️ in ☄️ effector
Всем привет. Такой кейс

Мне нужна фича чтобы получить регион пользователя по его местопложению

1) Эффект для получения местопложения (navigator.geolocation.getCurrentPosition)

2) запрос на эндпоит для загрузки регионов

Теперь такой кейс. Как красиво сделать так, чтобы я запрашивал регион юзера, он проверял в какой регион он входит  и возвращал его

Тут 1 эффект может завершиться раньше 2, то есть обязательно чтобы регионы были запрошены и вернуть регион (проверки входа точки в полигон готово)
источник

S

Sm•ok 😈✔️ in ☄️ effector
или запрашиваит местоположение строго после fetchRegionsFx.done
источник

S

Sm•ok 😈✔️ in ☄️ effector
но может у кого есть варианты лучше
источник

YL

Yan👀 Lobaty in ☄️ effector
makoven
Подскажите как красивее сделать в терминах эффектора? Есть интерфейс, описывающий удаленную сущность

interface SatanEntity {
 getSoul(id: number): Promise<Soul>,
 addSoul(soul: Soul): Promise<number>,
}

Интерфейсу подчиняются и серверная сторона и клиентская. Сейчас на клиенте этот интерфейс реализуется у класса, так что в результате можно записать

const satanEntity = new SatanEntity('/rpc/satan');
const soul42 = await satanEntity.getSoul(42);

Если уйти от классов, есть ли возможность красиво выразить такую сущность в эффекторе, чтобы она при этом имплементила интерфейс?
Как поменять но не поменять🌚
источник

YL

Yan👀 Lobaty in ☄️ effector
Я думаю пока не стоит тебе ее менять
источник

YL

Yan👀 Lobaty in ☄️ effector
Sm•ok 😈✔️
но может у кого есть варианты лучше
Ну первый приходящий в голову вариант эффект где авейтятся эти два
источник

S

Sm•ok 😈✔️ in ☄️ effector
Yan👀 Lobaty
Ну первый приходящий в голову вариант эффект где авейтятся эти два
Мне нужно один раз ток запросить
источник

S

Sm•ok 😈✔️ in ☄️ effector
Потом уже в сторе будет
источник

YL

Yan👀 Lobaty in ☄️ effector
Сэмпл тогда с гардом
источник

S

Sm•ok 😈✔️ in ☄️ effector
Стор с регионами тож тип есть
источник

YL

Yan👀 Lobaty in ☄️ effector
Гард который проверяет что в сторе еще ничего нет
источник

YL

Yan👀 Lobaty in ☄️ effector
И сэмпл у которого в сорсе дан первого эффекта и в клоке второго
источник

YL

Yan👀 Lobaty in ☄️ effector
Хотя не
источник

YL

Yan👀 Lobaty in ☄️ effector
Это не 100% рабочая конструкция
источник

YL

Yan👀 Lobaty in ☄️ effector
Клок может отработать раньшее апдейта соурса
источник

m

makoven in ☄️ effector
Yan👀 Lobaty
Как поменять но не поменять🌚
Ну задача то типовая. Нарастить мясцо на заданный каркас. У ситниковского nanoevents похожая идея. Описываешь события в виде интерфейса с функциями, после чего созданный эмиттер подчиняется этому интерфейсу
источник

m

makoven in ☄️ effector
Подсказывает имена эвентов, проверяет корректность аргументов. Одним словом благодать
источник

YL

Yan👀 Lobaty in ☄️ effector
Я не вижу смысла в явной сущности с точечкой
Можно создавать эффектом сатаниста
А потом в эффекты просто прокидывать его айди
А сами эффекты отделенеы будут в папке соответствующей доменной области
источник