Если вы считаете не безопасным то- что одновременно может произойти 2 запроса - то вы можете просто проверить "очередь".
Не то чтобы я как-то особым образом считал :), - сделал вывод из Ваших описаний, про очередь видимо упустил. Тем не менее, если есть такая потребность - лучше локализовать ближе к сокету, - во избежание.
Тогда уж если занудничать вам нужно использовать once для подписки на "data", в противном случае у вас будет утечка памяти.
тут признаю - лоханулся, время позднее было, на коленко в слепую накидал
С таймаутами вы тоже перемудрили. Вы вроде как локализуете запрос но при этом используете внутренний таймаут сокета который кстати сделан немного для других вещей. Тут лучше использовать обычный setTimeout.
Не, не согласен, норм - рабочая тема :). Для каких других вещей сделан таймаут? В чём преимущество "обычного"?
Вообще тема очень интересная, смело, по нашему, - против устоявшихся стереотипов и на мой взглд имеет потенциал, если не против - дальше в личке бы пообщался.
С асинхронкой всё понятно, немножко напряг сам код, он выглядит не безопасно, что если кто-то вызовет его не через await, а например использует then, тогда можно схватить неожиданное поведение, для запросов к синхронным девайсам предложил бы использовать что-то вроде (извиняюсь за занудство)
Была история, - подавал, мне грамотно обосновали отказ, посоветовали путь решения.
Это сподвигло меня более глубоко разобраться в вопросе и действительно найти правильное для моих задач решение, а не рефлексировать бесконечно на тему несовершенства мира.
Ещё разик напишу, если Вам не удалось прочитать с первого захода ;) - Если Вы считаете что какая-та функциональность необходима, - Вы можете обратиться в группу разработки стандартов.
Придётся обосновать необходимость и сделать внятное предложение.
Работа со стилями - предполагаемое поведение от дом. Он должен давать все возможности необходимые для реализации всех аспектов верстки через js.
Предполагаемое поведение DOM - это работа с нодами, и она вполне адекватно реализована, включая и работу со стилями элементов.
Работа с классами CSS реализована в API CSSOM и там (как Вам уже справедливо указали) можно и классы создавать и псевдо классы к селекторам навешивать.
Здесь опять, если Вы знаете как улучшить API - делайте предложение. Отказ обычно грамотно обосновывают :)
Эта притензия не совсем к DOM. Насколько я знаю, ожидаемое Вами поведение не является частью спецификации. Попробуйте сформулировать и отправить предложение в группу разработки стандартов.
С DOM в том и проблема, что в него заложено крайне мало возможностей по работе с элементами. Либо сделано это как-то криво, недоработано, не покрывает всех функций.
Хм, крайне спорно, DOM - это такой турбо composite, которого больше нигде нет. Не могли бы Вы привести пример возможности по работе с элементами, которой нет в DOM?
Извиняюсь конечно, но опять скажу - использовать CustomElements как единственную основу для декомпозиции - это приблизительно как использовать js без модулей и closures
Не то чтобы я как-то особым образом считал :), - сделал вывод из Ваших описаний,
про очередь видимо упустил. Тем не менее, если есть такая потребность - лучше локализовать ближе к сокету, - во избежание.
тут признаю - лоханулся, время позднее было, на коленко в слепую накидал
Не, не согласен, норм - рабочая тема :).
Для каких других вещей сделан таймаут?
В чём преимущество "обычного"?
Вообще тема очень интересная, смело, по нашему, - против устоявшихся стереотипов и на мой взглд имеет потенциал, если не против - дальше в личке бы пообщался.
С асинхронкой всё понятно, немножко напряг сам код, он выглядит не безопасно, что если кто-то вызовет его не через await, а например использует then, тогда можно схватить неожиданное поведение, для запросов к синхронным девайсам предложил бы использовать что-то вроде (извиняюсь за занудство)
Очень круто, всегда знал что JS для таких вещей наиболее подходящий инструмент.
Решение впечатляет
По статье - немного не понял пример с сокетом, вроде стандартный сокет взывает коллбэк и на этом все приседания заканчиваются
Была история, - подавал, мне грамотно обосновали отказ, посоветовали путь решения.
Это сподвигло меня более глубоко разобраться в вопросе и действительно найти правильное для моих задач решение, а не рефлексировать бесконечно на тему несовершенства мира.
Вы попробуйте - в любом случае это не повредит.
Ещё разик напишу, если Вам не удалось прочитать с первого захода ;)
- Если Вы считаете что какая-та функциональность необходима, - Вы можете обратиться в группу разработки стандартов.
Придётся обосновать необходимость и сделать внятное предложение.
Предполагаемое поведение DOM - это работа с нодами, и она вполне адекватно реализована, включая и работу со стилями элементов.
Работа с классами CSS реализована в API CSSOM и там (как Вам уже справедливо указали) можно и классы создавать и псевдо классы к селекторам навешивать.
Здесь опять, если Вы знаете как улучшить API - делайте предложение. Отказ обычно грамотно обосновывают :)
Эта притензия не совсем к DOM.
Насколько я знаю, ожидаемое Вами поведение не является частью спецификации. Попробуйте сформулировать и отправить предложение в группу разработки стандартов.
Но как Вы сами заметили
Мне почему-то больше понравился конечный результат, чем исходник, в чём профит такого подхода?
Хм, крайне спорно, DOM - это такой турбо composite, которого больше нигде нет. Не могли бы Вы привести пример возможности по работе с элементами, которой нет в DOM?
Каких функций не хватает?
Да думаю многие просекли, просто непонятен результат ваших изысканий, всё-то Вам не нравится: SGML Вам колючий, React душный, CSS слишком отдельный...
Будут конкретные предложения?
Не томите :)
Инструменты разработчика -> вкладка сеть
Заинтриговали, жду следующего доклада
Ну а был бы смысл говорить о чём-то не конкретном? ;)
Весь дьявол в DOM API, думаю Вы с ним знакомы не понаслышке, библиотека просто даёт возможность масштабировать наиболее очевидное совмещение HTML и JS
Здесь нет синтаксиса - его вовсе нет.
Субъективщина :)
Макеты - не шаблоны, клея 2k (с lazy loading модулей 3.7k), работаем прямо с DOM
живых объектов, как в детстве :)
других технологий нам браузер не предоставил, они привычные и достаточно наглядные
Декларативный HTML/XML макет, императивно (ручками :) шатаем из прямо связянного с макетом скрипта
как-то так, здесь два компонента, один использует другого
всё это заливается в фабрику
из фабрики берётся скриптом и монтируется туда, куда нужно
Поставил бы под сомнение шаблоны как таковые.
как всегда - хотелось бы увидеть реализацию "стандартного" приложения, чтобы было с чем сравнить https://todomvc.com/
Извиняюсь конечно, но опять скажу - использовать CustomElements как единственную основу для декомпозиции - это приблизительно как использовать js без модулей и closures
W3View ? ванильные компоненты без магии
а ведь можно и
так тоже было можно ;)
ну так-то можно конечно, но придётся добавить пару аргументов и превратить эту красоту в вырвиглазную зубодробильню :)