Андрей
Андрей
Почему нет?
Дмитрий
и почему ты его не написал? забыл?
ну так ты его можешь и в асинхронной функции забыть тогда
Deleted
Андрей
Андрей
Потом await напишу. В другом месте.
Дмитрий
и в чем тогда проблема не совсем понимаю?
Андрей
Андрей
Ты не понимаешь что происходит на уровне языка.
Дмитрий
все равно не понимаю, что непонятного тут происходит...
ты изначально должен был видеть интерфейс асинхроннного класса, а значит знаешь, что он вернет обещание, если ты решил отложить - ну так ты сам должен понимать, что ты делаешь
а если потом забыл, что у тебя не созданный класс...
ну так с тем же успехом можно сказать, что ты можешь и про что угодно забыть
Андрей
Дмитрий
так а что мешает тебе сейчас забыть про обещание?
Андрей
Еее, в новой версии js вы сможете не понимать свой код в 2 раза больше.
Дмитрий
я говорю не про время или типа просто общения по-твоему забываются дольше, чем общеания созданные асинхронным классом
дык а если обещания можно сейчас создать функцией уже
Дмитрий
и ты про них забудешь
Дмитрий
может тут вопрос память а не языка тогда
Дима
Андрей
Андрей
А вот иметь AppleAsync я не готов.
Андрей
Дмитрий
окей опять мы приходим к семантике, как я понимаю...
ну что ж окей newAsync тогда как вариант
Андрей
Андрей
Это стоит того?
Андрей
Давай по другому. Ты у себя в коде так писал?
Андрей
js это прекрасный язык с той точки зрения, что ты можешь накрутить все что угодно.
Андрей
Я тебе предлагаю написать плагин для бабеля и пожить в таком режиме полгодика. В потом похвастааешься результатами.
Alyona
Можно ещё пропозал создать для включения в стандарт.
Дима
Дмитрий
я уже писал для чего - для более простой работы с асинхронными объектами и их создании
Андрей
Дмитрий
ну в теории наверно можно сделать это костылем конечно, но не знаю насколько костыль будет в таком случае большим...
Андрей
Андрей
У тебя будет собственный js.
Дима
Дмитрий
ну для самого класса может быть, но речь еще про наследование
Андрей
Дмитрий
что нужно для расширение самого класса?
class.prototype там у нас какой?
Андрей
Дмитрий
так ну в теории можно расширить пожалуй через само наследование
Андрей
Андрей
Дмитрий
посмотрим сейчас прикину варианты как это можно реализовать
Андрей
О, прекрасно! Вдруг это правда недооцененная нами фича.
Дмитрий
class AsyncClass{
async static createAsync(args){
return new promise
resolve(obj);
}}
class OtherAsyncClass extend AsyncClass{
async static createAsync(args){
return new promise
let super_obj = await AsyncClass.createAsync(args);
super_obj.super = true;
resolve(super_obj);
}}
obj = await AsyncClass.createAsync(args);
super_obj = await OtherAsyncClass.createAsync(args);
хм ну костыль наверно проще всего так написать, а вот плагин, чтобы превращал обычный класс в асинхронный...
Alyona
eslint-plugin-no-async-classes.js
Дима
Artem Kasapchuk
товарищи тоже придумал безумную крейзи идейку) а что ели в приложение все модули сделать не вложенными а линейными
Artem Kasapchuk
https://jsfiddle.net/odgk2fLp/1/
Artem Kasapchuk
нафиг идут vritualdom и прочее
Artem Kasapchuk
остается только css костыли впаять)
Sergey
Artem Kasapchuk
не сегодня)
Artem Kasapchuk
не серьезено, js костыли обменять на css костыли, для производительности)
Sergey
Дмитрий
ну в целом если с ограничениями есть некоторые сырые идейки как можно менять код, но конечно криво это все не нативно реализовывать через костыли...
ну а так меняем async class Test() на просто класс
constructor меняем на асинхронный статический метод
создание меняем паттерн на указание на наш стат_метод
с привязкой пустого объекта
но это конечно все крайне муторно
Sergey
Дмитрий
ага классы тоже не нужны я понял) пишите петицию, чтобы их убрали)
Sergey
Я не понимаю почему ты вообще изначально решил что конструктор класса должен возвращать что-то другое вместо самого класса? Ты понимаешь что класс, промис на запрос ресурсов и особенно результат выполнения запроса — это вообще кардинально разные вещи служащие разным целям и они вообще не взаимозаменяемы?
Sergey
Artem Kasapchuk
без вкладывания, создаем какие то правила css, что бы элементы можно было позиционировать так как по типу они вложенны в друг друга и вуаля)
Sergey
ох пля)
Sergey
ясно
Sergey
собрались любители говна)
Sergey
один хочет отказаться от вложенности дом
Sergey
другой создать конструкцию противоречащую здравому смыслу
Artem Kasapchuk
не дом, а фреймворк запилить)
Artem Kasapchuk
назвать его "crazy performance" 😂
Дмитрий
"Я не понимаю почему ты вообще изначально решил что конструктор класса должен возвращать что-то другое вместо самого класса? "
конструктор разве возвращает сам класс?
он создает объект же
Дмитрий
класс - это функция-создатель
собственно конструктор и есть ее исполнение
Sergey
это блядь подразумевает сама идея классов
Sergey
Sergey
это в жс так
Sergey
в ООП это никакая нахуй не функция создатель
Sergey
ты ебанулся?
Sergey
иди попиши на джаве