Size: a a a

2020 October 31

DO

Dmitry Olyenyov in ☄️ effector
А подскажите, как правильно вот такое сделать? https://share.effector.dev/tSeENn1t
Я правильно понял, что мне надо делать что-то вроде https://share.effector.dev/P2O6EO03 ? Т.е. вызывать сразу effect, без event'а-посредника?
источник

🦜

🦜 in ☄️ effector
Dmitry Olyenyov
А подскажите, как правильно вот такое сделать? https://share.effector.dev/tSeENn1t
Я правильно понял, что мне надо делать что-то вроде https://share.effector.dev/P2O6EO03 ? Т.е. вызывать сразу effect, без event'а-посредника?
const apiCallFx = createEffect(() => new Promise(r => setTimeout(r, 5000)))
const makeApiCall = apiCallFx.prepend(p => p)
источник

DO

Dmitry Olyenyov in ☄️ effector
Мне самое главное — надо чтобы event был Promise'ом.
источник

DO

Dmitry Olyenyov in ☄️ effector
для вещей типа onSubmit у react-final-from, которая ждёт промис
источник

🦜

🦜 in ☄️ effector
Dmitry Olyenyov
Мне самое главное — надо чтобы event был Promise'ом.
event не будет промисом
источник

🦜

🦜 in ☄️ effector
Dmitry Olyenyov
для вещей типа onSubmit у react-final-from, которая ждёт промис
тогда attach
источник

🦜

🦜 in ☄️ effector
Dmitry Olyenyov
для вещей типа onSubmit у react-final-from, которая ждёт промис
лучше сделай пример в codesandbox c rff
источник

DO

Dmitry Olyenyov in ☄️ effector
А первый пример это как раз оно. Мне надо чтобы оно не выдавало ошибок и печатало DONE
источник

DO

Dmitry Olyenyov in ☄️ effector
В rff onSubmit имеет тип values=>Promise<undefined| {[key:string]:string}> либо undefined, либо object с ошибками
источник

🦜

🦜 in ☄️ effector
Dmitry Olyenyov
В rff onSubmit имеет тип values=>Promise<undefined| {[key:string]:string}> либо undefined, либо object с ошибками
() => Promise<?Object> | void
источник

🦜

🦜 in ☄️ effector
такой тип
источник

DO

Dmitry Olyenyov in ☄️ effector
ага
источник

🦜

🦜 in ☄️ effector
вызов fx возвращает промис,  разве не подходит?
источник

🦜

🦜 in ☄️ effector
я уже давно не работал с rff, последнее что юзал это react hook form
источник

🦜

🦜 in ☄️ effector
и там было достаточно одного ивента
источник

🦜

🦜 in ☄️ effector
const fxOnSubmit = createEffect(async () => {
return await fxCallAPI()
})
источник

🦜

🦜 in ☄️ effector
можно попробовать такую запись
источник

DO

Dmitry Olyenyov in ☄️ effector
ну да, я в итоге так и сделал — прикольно, что можно явно вызвать эффект. Но интересно, как, например можно сделать такое: "я посылаю event и хочу, вернув Promise, как-то дождаться какого-то "ответного event'а"
источник
2020 November 01

NN

Nikita N. in ☄️ effector
как тайпскрипту помочь в этой сложной ситуации?
источник

NN

Nikita N. in ☄️ effector
ясн, если входящие типы у эффектов не будут одинаковы, то тс не справляется
источник