@JSlang

Страница 1684 из 2237
Дмитрий
16.02.2018
18:29:07
ну и те ты считаешь что конструктор лишний в классе? может все твой измышления тогда к этому? и дело не в асинхронности? зачем тогда нам по-твоему конструктор?

Konstantin
16.02.2018
18:29:39
он функциональщик :)

Дмитрий
16.02.2018
18:30:05
ну так пусть использует - я за разные подходы

тем более если они не мешают другим

Google
Дмитрий
16.02.2018
18:31:38
просто да я могу сделать костылей кучу - у меня у самого код хитрый до жути... но лично мне было бы лаконичнее использовать на мой взгляд - именно асинхронные классы с асинхронным конуструктором по аналогии с функциями

так то и сейчас можно сделать через промисы асинхронные классы: class Example { constructor() { return new Promise}} но такой подход просто выглядит криво и менее удобен в использовании

Konstantin
16.02.2018
18:33:40
лучше расскажите как с утечками памяти боретесь

вот есть у меня большой скрипт, который отжирает память

в браузерной консоли особо не поймёшь где и что

Дмитрий
16.02.2018
18:35:04
ну кхм архитектуру надо знать и понимать досконально куда и что уходит

Konstantin
16.02.2018
18:36:39
ну я вижу что утечка определенно есть

а что и где - хз

Дмитрий
16.02.2018
18:37:53
ну смотря насколько сложный код... хотя сам пока не сталкивался... а чужого кода много? просто в моем случае я бы больше смотрел точно в сторону сторонних библиотек?

Дмитрий
16.02.2018
18:40:06
ну если код весь твой - тогда все гораздо проще)

Дмитрий
16.02.2018
18:40:41
он функциональщик :)
Должно быть стыдно если т.н. "функциональщик" вынужден объяснять вам что такое классы и для чего в них конструкторы

Особенно вам понравится как вам придётся делать наследование, я вам гарантирую, это полный восторг

Google
Дмитрий
16.02.2018
18:42:02
ну я себя ни к каким категориям не причисляю) я исхожу из своей логики так то) я ее обозначил: переменные указываю в конструкторе для получения готового образца по заказу и разница для меня лишь в асинхронном случае в том, что заказ нужно подождать - это мое мнение лично

Дмитрий
16.02.2018
18:42:08
await super

Супер, правда?

Дмитрий
16.02.2018
18:42:14
и в чем проблема?

Дмитрий
16.02.2018
18:43:08
Если ты не видишь здесь проблемы то объяснять придётся гораздо больше чем я планировал

Дмитрий
16.02.2018
18:43:12
добавить одно слово в extends? это так сложно считаешь?

Дмитрий
16.02.2018
18:43:35
А, то есть у нас теперь ещё и в extends await? Жесть)

Konstantin
16.02.2018
18:44:10
наследование по прототипу :)

Дмитрий
16.02.2018
18:44:11
ты видно не читал изначальную ссылку: //AsyncClass async_class AsyncClass { // keyword async_class(example) constructor() { await something(); // now constructor async too }} //AsyncObj in some async method let NewAsyncObj = await AsyncClass(); // create async obj //Extends async_class ExtAsyncClass extends AsyncClass{ constructor() { await super(); // now we can await super too await something(); }}

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

Дмитрий
16.02.2018
18:45:40
Конструкторы в классах — это не место для ваших фетчей

Дмитрий
16.02.2018
18:45:50
почему нет?

Дмитрий
16.02.2018
18:45:55
Потому что

Andrey
16.02.2018
18:46:01
а потом будет export default async abstract class NameClass extends Class implements Int1, Int2, ..... wtf ?

Дмитрий
16.02.2018
18:46:37
не надо утрировать

Andrey
16.02.2018
18:46:49
но так и будет в некоторых случаях )

Дмитрий
16.02.2018
18:46:51
Я хз, я не вижу больше смысла объяснять, ты либо соглашаешься либо нет, дело твоё, я не могу вынуть из головы собственный опыт и показать тебе что с тобой обязательно случится в дальнейшем и возможно даже неоднократно

Дмитрий
16.02.2018
18:47:47
а потом будет export default async abstract class NameClass extends Class implements Int1, Int2, ..... wtf ?
а сейчас еще хуже если что - использовать костыли типа: class Example { constructor() { return new Promise}} явно не лучше

Дмитрий
16.02.2018
18:48:16
Да, тот же самый щит

Дейли ремайндер

Google
Дмитрий
16.02.2018
18:48:26
Конструкторы в классах — это не место для ваших фетчей

А, я кстати понял в чем дело

Дмитрий
16.02.2018
18:50:09
аргумент потому что - это не аргумент) я свои доводы привел - так удобнее работать с объектами) file = await new File('troll.jpg'); иначе зачем в конструкторе тогда вообще свойства - я так и не услышал

Дмитрий
16.02.2018
18:50:27
Ты пытаешься иммитировать замыкания с помощью классов, как это принято в других языках

В жс, имеющим нативные замыкания в нормальной форме это выглядит инвалидно

Дмитрий
16.02.2018
18:51:15
Какое такое?

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

Дмитрий
16.02.2018
18:53:35
Джава, до диез, лол

Дмитрий
16.02.2018
19:02:55
в целом конечно у меня код и так крайне странный... да и как обычно я видно тороплюсь с новыми фишками... тут народ еще к await то не все привыкли, а я уже хочу async class? await хотя бы классовые переменные, декораторы и приватность) да и то похоже долго ждать⏳

Дмитрий
16.02.2018
20:13:55
async_class await super() ? Боже, какая прелесть! Откуда такая замечательная конструкция? =)
выше писал, но конечно телега не особо удобная штука в плане тем, как я понимаю... в целом это мое предложение по языку и да лично мне оно удобно - раз уж есть async func почему бы и нет?

Сергей
16.02.2018
20:22:33
Как ты себе это представляешь?
только хотел написать)

Google
Admin
ERROR: S client not available

Котяй Негодяй
16.02.2018
20:22:55
Да блин. Ну сделай себе асинхронную фабрику, если очень надо.

Профит.

Сергей
16.02.2018
20:23:29
+

Котяй Негодяй
16.02.2018
20:23:31
Работать будет точно так же, как и асинхронный конструктор.

Вообще у нас нет классов. Так что забей.

A
16.02.2018
20:31:26
ну работает типа такого
То есть твоя логика такая: мы создаём объект, который в конструкторе выполняет блокирующую операцию. И для того чтобы выполнить эту операцию асинхронно, то мы делаем класс объекта асинхронным и ожидаем ответа метода конструктора. Так получается?

Дмитрий
16.02.2018
20:41:23
ну вроде так - да по сути асинхронный класс - это асинхронный конструктор я уже выше писал - это можно сравнить с тем, что вы делаете заказ и в одном случае он готов мгновенно, а в другом случае нужно подождать просто для меня async class столь же логичен, как и async func - да можно и сейчас все сделать разными методами/костылями мое предложение лишь сахар для работы с асинхронными свойствами/объектами через классы

Дмитрий
16.02.2018
20:54:03
вопрос в сложности примера в твоем случае ты получаешь не тоже самое, что в моем примере ты получаешь сами файлы, а в моем примере ты получал именно объекты, где одним из свойств был blob(сам файл) просто я привел изначально пример чисто для показания самого принципа работы и сферы применения а так конечно там в конструкторе может быть 10 свойств, которые могут быть параллельно выполняться и прочее-прочее

конкретно я например в принципе работаю с разными элементами, которые динамически создаются и грузятся из модулей) поэтому сложный элемент(объект) может состоять из многих мелких) поэтому я уже выше писал если взять более сложный пример например создание машины async class Car{ constructor(color...){ [this.part1, this.part2, this.part3] = await Promise.all([ get_path1(color1), get_path2(color2), get_path3(color3), ]); }} car = await new Car(green,red,blue);

ну и например если нам нужно расширить класс то все тоже достаточно тривиально async class SuperCar extends Car{ constructor(color...){ await super(color...); this.super_car = true; }}

Дмитрий
16.02.2018
21:13:40
ну это уже вопрос иной: все или не все взять ту же машину - ты можешь ее купить, а потом улучшить, если вдруг захотелось все полагаю зависит от разных ситуаций, но async class - по сути тот же класс, но с большим простором для работы собственно с асинхронностью

вообщем вопрос переменных я бы ставил такой же как если бы асинхронности не было вообще

A
16.02.2018
21:23:16
ну это уже вопрос иной: все или не все взять ту же машину - ты можешь ее купить, а потом улучшить, если вдруг захотелось все полагаю зависит от разных ситуаций, но async class - по сути тот же класс, но с большим простором для работы собственно с асинхронностью
Но ведь при достижении в async функции ключевого слова await, JS вынимает эту функцию из цикла событий, который является однопоточным тредом и откладывает эту функцию в воркер до исполнения обещания. Так ведь работает механизм асинхронности? Как JS в твоей схеме будет вести себя с объектом с точки зрения асинхронности потоков?

Дмитрий
16.02.2018
21:26:15
не совсем понимаю вопрос... изначально вся работа ведется в асинхронном режиме,если ты про это - я бы еще назвал его реальнм режимом) async function get_car(){ car = await new Car(green,red,blue); все здесь ждем нашу машинку или делаем еще что-то в зависимости от наших задач }

Google
Дмитрий
16.02.2018
21:31:13
ну вообще я просто видимо не особо знаком с Вами, поэтому мне тяжело отвечать порой... но вообще для паралелльной работы в js есть web workers

и да как бы async func - это уже стандарт

я лишь говорю о его применение еще и на классы

Daniel
16.02.2018
21:34:43
Не уверен, что это имеет смысл, учитывая что можно просто сделать функцию

Дмитрий
16.02.2018
21:35:30
Не уверен, что это имеет смысл, учитывая что можно просто сделать функцию
это удобнее - лично для меня да) значит имеет смысл,но что это сахар - я не отрицаю

куда больше простор?
я выше приводил пример с машиной

Страница 1684 из 2237