Dika
Почему его через линтеры выпиливают?
Его можно через 'use strict' выпилить
Андрей
Почему нет?
Дмитрий
и почему ты его не написал? забыл? ну так ты его можешь и в асинхронной функции забыть тогда
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 костыли впаять)
Artem Kasapchuk
не сегодня)
Artem Kasapchuk
не серьезено, js костыли обменять на css костыли, для производительности)
Дмитрий
ну в целом если с ограничениями есть некоторые сырые идейки как можно менять код, но конечно криво это все не нативно реализовывать через костыли... ну а так меняем async class Test() на просто класс constructor меняем на асинхронный статический метод создание меняем паттерн на указание на наш стат_метод с привязкой пустого объекта но это конечно все крайне муторно
Sergey
не серьезено, js костыли обменять на css костыли, для производительности)
ты вероятно забыл к ебеням о том, зачем нужно вкладывать друг в друга тэги
Artem Kasapchuk
ты вероятно забыл к ебеням о том, зачем нужно вкладывать друг в друга тэги
не забыл, я ж пишу обменять js костили с виртуальным думом и прочей штуками на css костыли)
Дмитрий
ага классы тоже не нужны я понял) пишите петицию, чтобы их убрали)
Sergey
Я не понимаю почему ты вообще изначально решил что конструктор класса должен возвращать что-то другое вместо самого класса? Ты понимаешь что класс, промис на запрос ресурсов и особенно результат выполнения запроса — это вообще кардинально разные вещи служащие разным целям и они вообще не взаимозаменяемы?
Artem Kasapchuk
без вкладывания, создаем какие то правила css, что бы элементы можно было позиционировать так как по типу они вложенны в друг друга и вуаля)
Sergey
ох пля)
Sergey
ясно
Sergey
собрались любители говна)
Sergey
один хочет отказаться от вложенности дом
Sergey
другой создать конструкцию противоречащую здравому смыслу
Artem Kasapchuk
не дом, а фреймворк запилить)
Artem Kasapchuk
назвать его "crazy performance" 😂
Дмитрий
"Я не понимаю почему ты вообще изначально решил что конструктор класса должен возвращать что-то другое вместо самого класса? " конструктор разве возвращает сам класс? он создает объект же
Дмитрий
класс - это функция-создатель собственно конструктор и есть ее исполнение
Sergey
это блядь подразумевает сама идея классов
Sergey
это в жс так
Sergey
в ООП это никакая нахуй не функция создатель
Sergey
ты ебанулся?
Sergey
иди попиши на джаве