A
асинхронный != многопоточный
Это верно) Тогда тебе придётся объянить мне что значит "изначально вся работа ведется в асинхронном режиме" =)
Sergey
car = await Car.create(green, red, blue)
Sergey
всё
Sergey
+
Sergey
об этом уже много людей написали
Sergey
класс сам по себе не может быть асинхронным
Sergey
async class Foo {}
Sergey
ну и что
Sergey
ты пишешь, что станет только конструктор асинхронным
Sergey
а гораздо логичнее, чтобы все методы
Дмитрий
дык используется ключевое слово такое же как и в функциях async class <--> async func если ты создаешь обычный класс - там нет никаких промисов, а если ты работаешь с асинхронным классом то все также как и с async func должен понимать с чем работаешь)
Sergey
конкретно меняется не много
Sergey
но класс как идея не может быть асинхронным
Sergey
у тебя по идее должен быть асинхронный конструктор
Sergey
class Foo { async constructor() { } }
Sergey
а не класс
Sergey
ну это уже логичнее, хоть немного
Sergey
асинхронный класс это как асинхронная переменная
Sergey
async let foo = ...
Дмитрий
дык а машину пока на заводе собирают она есть или ее нет?
Дмитрий
я говорю про саму концепцию а это уже разные подходы и спорить что лучше классы или фабрика - иная совсем тема
Sergey
так именно
Sergey
сама концепция
Sergey
класс это абстрактная фигня для описания сущности
Sergey
как ты его конструируешь это другой вопрос
Дмитрий
окей а что тогда по-втоему конструктор?
Дмитрий
разве не фабрика?
Sergey
создание сущности
Sergey
любой
Sergey
начальное состояние
Sergey
init
Sergey
разве не фабрика?
нет конечно
Дмитрий
те в конструкторе машина не конструируется - окей...
Sergey
нет
Sergey
ты задаешь начальные значения
Sergey
а с наследованием как объяснишь?
Sergey
class Truck extends Car {}
Sergey
какое здесь может быть промежуточное состояние между super и возвратом?
Sergey
что там?
A
Мой вопрос по поводу того что JS будет вынимать из event loop в webapi при достижении await остаётся открытым =)
Sergey
недогрузовик или недомашина
Sergey
хорошо описал, согласен
Дмитрий
ну в целом да так сейчас и делаю хотя это уже немного разные вещи и подходы к тому, что такое конструктор и зачем он нужен... свое видение я уже изложил для меня все-таки конструктор - это полноценный создатель а не я ему это создай, принеси я лишь указываю параметры и дальше хочу, чтобы он сам по ним все сделал, а я пойду подожду и займусь другими делами мне такой подход клиента ближе
Sergey
Конструктор это только создание объекта
Sergey
Вот на уровне языка
Sergey
Не больше
Дмитрий
просто например если я работаю с модулями import Car() и вот не хочу я лишних действий потом, а лишь хочу указать нужные мне параметры, а все логика, чтобы была в модули и класс а я просто делаю new_car = await Car(red,model1);
Дмитрий
ну вот я и хочу создать объект, но без лишних проблем
Дмитрий
просто указать в конструкторе что я хочу и получить это
Sergey
Идеология другая
Sergey
Нужно разделять
Sergey
Делаешь фабрику и получаешь код без запашка
Дмитрий
почему? я привел пример как это сделать окей пусть возможно async conctructor лучше (хотя это нужно еще думать) я писал больше async class для понимания самой идеи и чтобы люди сразу понимали что работают с уже отличным от привычного класса - в этом была суть
Дмитрий
ну да я уже понял что тут классы не все любят
Sergey
А другого способа создать обьект у тебя нет
Дмитрий
поэтому я и говорю, что лучше использовать async в классе, чтобы не было путаницы, что создается именно асинхронный объект
Sergey
Нет
Sergey
Лучше не делать так совсем
Sergey
Эта функциональность просто не нужна
Sergey
А тебе надо лучше изучить паттерны
Дмитрий
ага классы тоже не нужны я понял
Sergey
Смени имя
Дмитрий
ладно посмотрим) классы говорили тоже не нужны, но они есть) не нравятся/не нужны - не используйте) хотя видно сторонников моей идеи тут нет🤔
Sergey
И не будет
Sergey
Потом поймёшь почему
Дмитрий
может быть - поживем увидим😒
Андрей
Объекты ломать не нужно.
Сергей
а какой браузер лучше всего использовать для парсера на js?
Андрей
Пофиг.
Андрей
Какой тебе удобнее.