Size: a a a

2020 June 08

P

Paruyr🛸🪐🌏 in ☄️ effector
В случае Vue я в onMounted кидать будуть эффекты, проблем не вижу, до этого я так просто асинки кидал
источник

R

Ruslan 🌀 in ☄️ effector
🦜
потому что на каждый вызов в рендере useEffect создается новый промис
если он не используется, то сборщик мусора его будет сносить
источник

🦜

🦜 in ☄️ effector
Ruslan 🌀
если он не используется, то сборщик мусора его будет сносить
когда-нибудь
источник

🦜

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

🦜

🦜 in ☄️ effector
29 кликов
источник

DS

Dmitriy Shuleshov in ☄️ effector
Это ты где покликал?
источник

🦜

🦜 in ☄️ effector
Dmitriy Shuleshov
Это ты где покликал?
выше
источник

🦜

🦜 in ☄️ effector
только надо сделать new Promise
источник

R

Ruslan 🌀 in ☄️ effector
в codesandbox память течёт и без этого
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
источник

🦜

🦜 in ☄️ effector
с Promise память чистится
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
После кучи кликов только лучше стало)
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
const fx = createEffect().use(async () => {
 throw new Error('test')
})

function App() {
 const [,forceRender] = React.useState(0)
 
 React.useEffect(() => {
   fx()
 }, [])
 
 return (
   <button onClick={() => forceRender(Math.random())}>Force render</button>
 )
}
источник

DS

Dmitriy Shuleshov in ☄️ effector
🦜
только надо сделать new Promise
на 16 строке?
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Так если в промисе resolve, reject не обрабатывается, то он так и будет висеть
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
Понятное дело память утекает
источник

🦜

🦜 in ☄️ effector
Paruyr🛸🪐🌏
Так если в промисе resolve, reject не обрабатывается, то он так и будет висеть
тоже самое и с resolve
источник

yv

yumaa verdin in ☄️ effector
в общем, под enhandled promise @popuguy имел ввиду утечку памяти, из-за лишних создаваемых промисов, а я понял как ошибку vm uncaught in promise.
источник

R

Ruslan 🌀 in ☄️ effector
yumaa verdin
в общем, под enhandled promise @popuguy имел ввиду утечку памяти, из-за лишних создаваемых промисов, а я понял как ошибку vm uncaught in promise.
да и утечки не будет, если это обычный эффект с нормальным async хэндлером
источник

P

Paruyr🛸🪐🌏 in ☄️ effector
export const $goods = restore(
 loadGoodsFx.doneData.map(result => {
   const { parsedItems } = parseItems(result.data, parseGoodResource);
   return parsedItems;
 }),
 [],
);

Обнаружил прикольный паттерн
источник