|
71 / 59 / 14
Регистрация: 20.12.2013
Сообщений: 723
|
||||||
Асинхронные события в порядке очереди09.08.2024, 22:56. Показов 632. Ответов 3
Метки нет (Все метки)
Здравствуйте.
В теперешнем приближении делаю запуск задачи: при нажатии кнопки - запускаем сокетное соединение, если надо, ждем, когда нам вернется id пользователя для доступа к сокету и изменится состояние сокета - отправляем запрос на создание созвона, ждем, когда вернется id созвона. Не знаю как оформить наглядно, чтобы прилично и понятно выглядел. Просто бы схематично идею. Сейчас так
Например не видно отдельных этапов. А с течением времени я буду смотреть на это и еще больше офигевать. Думал может в виде цепочки промисов как-то, но не придумал. С моими знаниями усложнять боюсь будет катастрофой.
0
|
||||||
| 09.08.2024, 22:56 | |
|
Ответы с готовыми решениями:
3
Асинхронные очереди Glib
Переместить все элементы первой очереди (в порядке от начала к концу) в конец второй очереди |
|
Молодой техлид)
|
|||||||||||||||||||||
| 11.08.2024, 11:21 | |||||||||||||||||||||
Сообщение было отмечено AndrSlav как решение
Решение
AndrSlav, у тебя приходит много входных аргументов в кастомный хук useNewGroupCall, если даже он работает через useMemo будет вызываться на каждое изменение зависимостей. Сложно понять что будет происходить, потому что твоя функция хука асинхронная, с большой вероятностью несколько функций хука могут выполняться асинхронно(~одновременно) и там еще больше подводных камней, которые даже через отладчик трудно будет читать.
Одно из решений это декомпозиция и использование возможностей чистого js. У React одна из проблем это перерисовки, чтобы от них избавиться можно писать на чистом js. Я написал небольшой пример, он позволяет решить перечисленные выше проблемы. Модули: - EventEmitter - это аналог событий js - Call - звонок - Connection - соединение Часть функционала который не нуждается в перерисовках написан на чистом js, который потом можно адаптировать, например, EventEmitter можно переделать под стейт менеджер проекта, js es6 модули это по сути глобальный singleton паттерн можно пользоваться их преимуществами. Функционал примера: - input host name - пишем сюда любую строку кроме "правильного хоста" получаем disconnect Две кнопки для того чтобы с имитировать как будет работать при успешном и разорванном соединении - Connect - соединение с хостом - Disconnect - разрыв соединения Звонок - Сall - сначала проверяет соединение если оно уже создано звоним, если нет 3 раза пытаемся соединиться, если успешна хоть одна попытка звоним, попытки можно прервать. - Abort - принудительный обрыв звонка App
1
|
|||||||||||||||||||||
|
71 / 59 / 14
Регистрация: 20.12.2013
Сообщений: 723
|
||||||
| 11.08.2024, 12:41 [ТС] | ||||||
|
Спасибо!
Как-то вызов setCallState в
1
|
||||||
|
Молодой техлид)
|
||
| 11.08.2024, 12:59 | ||
|
1
|
||
| 11.08.2024, 12:59 | |
|
Помогаю со студенческими работами здесь
4
Переместить все элементы первой очереди (в порядке от начала к концу) в конец второй очереди Переместить все элементы первой очереди (в порядке от начала к концу) в конец второй очереди Есть ли способ удалить события QTimer, которые уже стоят в очереди? Добавление данных в порядке очереди Вывести элементы очереди в обратном порядке Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
|
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/
O1rJuneU_ls
https:/ / vkvideo. ru/ video-115721503_456239114
|
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ВВЕДЕНИЕ
Введу сокращения:
аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
|