Size: a a a

2020 December 03

L

Lupusregina[beta] in Svelte [svelt]
Alexander Ponomarev
к тому что когда вам будет поставлена задача, то ее решение либо синхронное либо асинхронное. Если оно синхронное, то на кой хрен делать промисы асинки и эвейты, а если оно асинхронное и не может быть синхронным то вы будете ждать всегда столько сколько Promise.all или больше
ну работаешь ты с данными какми то, а в самом низу кеш в идб, идб асинхронная
источник

L

Lupusregina[beta] in Svelte [svelt]
например
источник

AP

Alexander Ponomarev in Svelte [svelt]
Lupusregina[beta]
ну работаешь ты с данными какми то, а в самом низу кеш в идб, идб асинхронная
и какое у этой задачи синхронное решение?
источник

L

Lupusregina[beta] in Svelte [svelt]
Alexander Ponomarev
и какое у этой задачи синхронное решение?
я про асинхронное
источник

AP

Alexander Ponomarev in Svelte [svelt]
генератор будет работать так же долго
источник

AP

Alexander Ponomarev in Svelte [svelt]
вы же все равно будете ждать эти кучи тиков промисов и идб
источник

L

Lupusregina[beta] in Svelte [svelt]
Alexander Ponomarev
генератор будет работать так же долго
сам вызов идб да также. но все функции выше которые не юзают асинхронность будут в 40 раз быстрее async/await
источник

L

Lupusregina[beta] in Svelte [svelt]
Alexander Ponomarev
вы же все равно будете ждать эти кучи тиков промисов и идб
у тебя обращение к кешу может 1 раз час быть, а async функции во всем стеке
источник

AP

Alexander Ponomarev in Svelte [svelt]
дак а вы не называйте функции async'ами в которых не нужен await
источник

L

Lupusregina[beta] in Svelte [svelt]
Alexander Ponomarev
дак а вы не называйте функции async'ами в которых не нужен await
для этого надо добавлять доп флаги, ставить ифы есть или нету данных, и пробрасывать результат до самого верха. только вручную
источник

AP

Alexander Ponomarev in Svelte [svelt]
вы наверно из тех кто пишет вместо
function f() {
   return promise;
}
console.log(await f());

пишете
function async f() {
   return await promise;
}
console.log(await f());
источник

ON

Oleg N in Svelte [svelt]
Lupusregina[beta]
сам вызов идб да также. но все функции выше которые не юзают асинхронность будут в 40 раз быстрее async/await
такой вариант не будет быстрее синхронного, а аналог асинхронного ты через итератор не сделаешь
источник

ON

Oleg N in Svelte [svelt]
хотя асинхронность можно закостылить через итератор, но тогда все дерево ф-ий должно это поддерживать
источник

L

Lupusregina[beta] in Svelte [svelt]
Oleg N
такой вариант не будет быстрее синхронного, а аналог асинхронного ты через итератор не сделаешь
Ну снаружи функция вызова канечно будет асинхронной
источник

L

Lupusregina[beta] in Svelte [svelt]
Oleg N
хотя асинхронность можно закостылить через итератор, но тогда все дерево ф-ий должно это поддерживать
да, именно так
источник

МТ

Марк Танащук... in Svelte [svelt]
Я так и не понял, как может выглядеть пример реального кейса для генератора?🤔
источник

МТ

Марк Танащук... in Svelte [svelt]
Где он необходим
источник

МТ

Марк Танащук... in Svelte [svelt]
И является лучшей опцией
источник

AP

Alexander Ponomarev in Svelte [svelt]
Lupusregina[beta]
спасибо не знал
я думаю на этом можно было закончить с измерениями, потому что вы мереете непонятно что и сравниваете непонятно с чем.

Ожидание N промисов не может быть быстрее ожидания N промисов как угодно пропущенных через генераторы =)
источник

VP

Vladimir Panimaskin in Svelte [svelt]
если вы не знаете, зачем вам нужны генераторы, значит они вам не нужны)
источник