Size: a a a

2021 June 22

IK

Igor Kamyshev in ☄️ effector
Слушайте, я тут делаю тут серверный рендеринг и обнаружил, что форк занимает 60-70 мс, и это строго синхронная операция, которая отравляет поток.

Это у меня что-то не так? Или так задумано и оно должно занимать столько времени?
источник

c⁣

createStore<🦉>... in ☄️ effector
какой размер проекта?
источник

IK

Igor Kamyshev in ☄️ effector
Совсем небольшой
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
const loading = restore(fx.pending.updates, true)
источник

IK

Igor Kamyshev in ☄️ effector
52 стора, 153 ивента, 37 эффектов
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
странно, не должно быть такого
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
проверь функции передаваемые в map и combine, они вызываются при форке и это может замедлить инициализацию
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
то есть если в условном store.map будет создание инстанса momentjs то будет не айс)
источник

IK

Igor Kamyshev in ☄️ effector
Угу, спасбо, буду смотреть.
источник

VL

Vincent Law in ☄️ effector
Спасибо! А если эффектов несколько?
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
совсем небольшой в моём представлении раз в 10 меньше 😅
источник

IK

Igor Kamyshev in ☄️ effector
Кек =) Ну это мы только начали.
источник

VL

Vincent Law in ☄️ effector
Не особо хочется под каждый эффект заводить, но это не критичное в целом-то, так что спасибо за решение:)
источник

IK

Igor Kamyshev in ☄️ effector
А другие варианты есть?
источник

c⁣

createStore<🦉>... in ☄️ effector
const loading = combine(fx1.pending, fx2.pending, (f1, f2) => f1 || f2)

или взять patronum
источник

c⁣

createStore<🦉>... in ☄️ effector
https://github.com/effector/patronum/tree/main/pending

const loading = pending({ effects: [fx1, fx2] })
источник

VL

Vincent Law in ☄️ effector
так, изначально loading === false, а трюк с restore уже не пройдет, так как loading это store.
источник

🚀🚀

🚀🔬 🚀🔬🚀🔬... in ☄️ effector
источник

ф

фильтруй мысли... in ☄️ effector
можно обычный fetch, главное сигнал передать и промис вернуть
источник

ф

фильтруй мысли... in ☄️ effector
я релизнул fry-fx версию 3.1.0 с опцией disableFxOptions, попробуй эту опцию передать:
export const fetchCountryFx = createRequestFx({
 disableFxOptions: true,
 handler,
});
источник