Size: a a a

2021 March 22

MK

Maxim Koylo in ☄️ effector
🚀🔬 🚀🔬🚀🔬
а что будет если эти эвенты придут в другом порядке?
сначала set subscription data ok, затем set device info
тут да в даном случае это последовательное ожидание, я уже переделал на ожидаени в любом порядке
источник

MK

Maxim Koylo in ☄️ effector
если один из них провлиться то эта сага просто не будет выполняться
источник

MK

Maxim Koylo in ☄️ effector
покажется ошибка и все, уже в зависимости от кейса
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
вот) «в зависимости от кейса» это split
источник

MK

Maxim Koylo in ☄️ effector
🚀🔬 🚀🔬🚀🔬
вот) «в зависимости от кейса» это split
блин я все никак не дочитаю доку, извеняюсь
источник

MK

Maxim Koylo in ☄️ effector
бегу впереди паровоза(
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
split({
 source: triggerSync,
 cases: {
   synced,
   noInfo: getDeviceInfoFx,
   noData: getSubscriptionDataFx,
   noInfoNoData: [
     getDeviceInfoFx,
     getSubscriptionDataFx,
   ],
 },
 match: combine(
   $hasDeviceInfo,
   $hasSubscriptionData,
   (hasInfo, hasData) => {
     if (hasInfo && hasData)
       return 'synced'
     if (!hasInfo && !hasData)
       'noInfoNoData'
     return !hasInfo
       ? 'noInfo'
        : 'noData'
   }
 ),
})
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
🚀🔬 🚀🔬🚀🔬
split({
 source: triggerSync,
 cases: {
   synced,
   noInfo: getDeviceInfoFx,
   noData: getSubscriptionDataFx,
   noInfoNoData: [
     getDeviceInfoFx,
     getSubscriptionDataFx,
   ],
 },
 match: combine(
   $hasDeviceInfo,
   $hasSubscriptionData,
   (hasInfo, hasData) => {
     if (hasInfo && hasData)
       return 'synced'
     if (!hasInfo && !hasData)
       'noInfoNoData'
     return !hasInfo
       ? 'noInfo'
        : 'noData'
   }
 ),
})
при срабатывании triggerSync, если $hasDeviceInfo — true и $hasSubscriptionData — true, то вызвать эвент synced
в иных случаях вызвать эффекты getDeviceInfoFx и getSubscriptionDataFx в зависимости от того, чего не хватает
источник

MK

Maxim Koylo in ☄️ effector
🚀🔬 🚀🔬🚀🔬
при срабатывании triggerSync, если $hasDeviceInfo — true и $hasSubscriptionData — true, то вызвать эвент synced
в иных случаях вызвать эффекты getDeviceInfoFx и getSubscriptionDataFx в зависимости от того, чего не хватает
ага +/- понял спасибо, когда буду читать доку то обязательно изучу еще раз
источник

TG

Timofey Goncharov in ☄️ effector
в SSR внутри эффекта вызывать евенты же безопасно? не потеряется скоуп?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Timofey Goncharov
в SSR внутри эффекта вызывать евенты же безопасно? не потеряется скоуп?
безопасно, скоуп не потеряется
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
главное следи чтобы эффекты либо делали что-то асинхронное либо вызывали эвенты. не всё вместе
источник

З

Завтра in ☄️ effector
🚀🔬 🚀🔬🚀🔬
главное следи чтобы эффекты либо делали что-то асинхронное либо вызывали эвенты. не всё вместе
А что стало причиной такого ограничения?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Timofey Goncharov
в SSR внутри эффекта вызывать евенты же безопасно? не потеряется скоуп?
либо если хочешь наверняка, то есть scopeBind — вызови его в начале хэндлера и применяй результаты по необходимости
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Завтра
А что стало причиной такого ограничения?
в жс в общем случае технически невозможно отследить окончание асинхронного вызова для восстановления контекста, любой асинхронный вызов не эффекта становится чёрной дырой после которой — неизвестность
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
статья по теме https://t.me/effector_tips_ru/90
источник

AO

Aleksandr Osipov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
в жс в общем случае технически невозможно отследить окончание асинхронного вызова для восстановления контекста, любой асинхронный вызов не эффекта становится чёрной дырой после которой — неизвестность
А что-то вроде подхода zonejs не могло бы помочь? Или это костыль?
источник

AO

Aleksandr Osipov in ☄️ effector
Я глубоко не смотрел, но вроде схожая проблема им решалась
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
Aleksandr Osipov
А что-то вроде подхода zonejs не могло бы помочь? Или это костыль?
костыль, причём крайне злобный, патчить то что тебе не принадлежит запрещено, это один из принципов эффектора
источник

AO

Aleksandr Osipov in ☄️ effector
🚀🔬 🚀🔬🚀🔬
главное следи чтобы эффекты либо делали что-то асинхронное либо вызывали эвенты. не всё вместе
А для этого можно правило для eslint сделать?
источник