169 похожих чатов

Господа, а есть какой то паттерн реализации очереди в JS?



У меня подписка на стор с массивом внутри и нужно выполнять асинхронные действия с элементами ( добавлять/обновлять их в Map )

Проблема в том что стор может обновляться каждые 10 мс, и он не дожидается предыдущей обработки .subscribe

11 ответов

22 просмотра

Я оьычно в рабитмкю сгружаю

Мьютекс ?

ilya ~$- Автор вопроса
Мишаня
Мьютекс ?

Да, он и нужен. А нет референсной реализации или хорошего пакета?

https://www.effect.website/ возможно вот

Вот пример реализации асинхронной очереди https://pastebin.ubuntu.com/p/HgtnsN5s5Q/ Можно доработать сделав параметр для ограничения количества паралельно выполняющихся асинхронных операций, если это требуется

так в этом и смысл асинхронного стора, что мы можем добавлять или удалять элементы без блокировки подписки.

stalkerg
это вполне себе синхронная очередь

Да действительно я упустил это при переделке - убрал сет таймаут при запуске таска)

я не до конца понял что именно вы делаете, но кажется вам нужен дебаунс на сторе. поищите, есть несколько готовых реализаций

1 1
я не до конца понял что именно вы делаете, но каже...

ему скорее всего нужен консистентный стор пока идёт процесс обработки после последнего обновления. Так как клонировать весь стор на каждый чих не эффективно, а MVCC сюда вводить не рационально то просто lock должен спасти. Но да, деталей не хватает.

https://github.com/sveltetools/svelte-asyncable

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта