
Дмитрий
17.02.2018
08:56:59
но все-таки я хочу от создания машины получить машину, а не чертеж
и пожалуйста чертеж может быть синхронным
разве что вы его опять же не хотите откуда-то загрузить...
ну и тут опять вопрос внутренней и внешней загрузки

Google

Дмитрий
17.02.2018
08:59:15
те самостоятельность против встроенности

Andrey
17.02.2018
09:01:09
Должен возвращаться промис?

Дмитрий
17.02.2018
09:02:14
ну выше уже было много вариантов
просто async/await я считаю более удобным
если ты про разные способы создания без await - другие подходы

Andrey
17.02.2018
09:02:49
const a = new A()
Какого типа переменная а?

Дмитрий
17.02.2018
09:08:33
хм торможу - не уверен точно, но промис выглядит вроде логичным в данном случае
раз мы начали создание объекта, но не дождались пока он выполнится - значит имеем пока только обещание

Andrey
17.02.2018
09:10:03

Дмитрий
17.02.2018
09:10:17
что именно жесть - поясни

Andrey
17.02.2018
09:10:27
То, что непонятно что происходит в коде.

Konstantin
17.02.2018
09:11:28
https://pp.userapi.com/c7004/v7004004/4902d/6XMW754BBgw.jpg

Andrey
17.02.2018
09:14:58

Google

Andrey
17.02.2018
09:16:17
Код должен быть простым как дверь и не вызывать вопросов "что здесь происходит?" на уровне языка.

Дмитрий
17.02.2018
09:17:20
а что сложного выше?
ты сделал заказ машины - решил не ждать и получил обещание, что она будет сделана
подождал получил готовую машину

Andrey
17.02.2018
09:17:38

Roman
17.02.2018
09:17:43
Опять ооп свое тут обсуждают ?

Andrey
17.02.2018
09:18:45
Это важно. Относительно этого ты действуешь дальше.

Дмитрий
17.02.2018
09:19:11

Andrey
17.02.2018
09:20:05

Дмитрий
17.02.2018
09:21:47
я предлагаю добавить новую семантику
async class - да некоторые говорят что логичнее использовать async в конструкторе, хотя я лично все же как раз за наглядность, чтобы сразу было видно, что это асинхронный класс, который возвращает обещание объекта

Andrey
17.02.2018
09:23:22
Ок. Я понял. Ты хочешь усложнить язык ради сомнительных практик. Печально.
Надеюсь, что такого не будет.
Иначе придётся добавлять новое свойство в линтер.

Дмитрий
17.02.2018
09:25:30
усложнить? как по мне так упростить
потому что обещания уже пришли в язык, асинхронные функции тоже
почему не сделать тогда асинхронное создание объектов? это как раз таки более удобно для работы с ними

Andrey
17.02.2018
09:27:36

Дмитрий
17.02.2018
09:28:19
еще раз я ничего не меняю в старой семантике
я лишь добавляю новую

Andrey
17.02.2018
09:28:35
Точно не меняешь?

Дмитрий
17.02.2018
09:29:09
да но возвращает то он для async class
что вроде как бы логично?
для обычных классов все по-старому

Dika
17.02.2018
09:29:32

Google

Andrey
17.02.2018
09:30:56
Что в переменной а?
Верно, что будет число?

Dika
17.02.2018
09:31:59

Andrey
17.02.2018
09:32:08
Ммм
Двусловные операторы. Ня!
Но мне интересно что Дмитрий скажет.

Дмитрий
17.02.2018
09:34:26
Верно, что будет число?
хм не совсем понимаю вопроса... ну я даже на всякий случай проверил - ну да вернулось число или о чем речь?

Andrey
17.02.2018
09:35:05
Т.е. начинается полнейший хаос.

Дмитрий
17.02.2018
09:36:43
не понима вопроса, если ты создаешь объект от асинхронного класса - он должен возвращать объект это логично
если ты используешь его в каких-то других случаях
так и результат будет иной это логично

Andrey
17.02.2018
09:37:20

Andrey
17.02.2018
09:38:05
Как думаешь, почему with никто не использует?
Почему его через линтеры выпиливают?

Дмитрий
17.02.2018
09:38:31
так и в чем путаница то?
что тебя путает в том чтобы использовать от
async class Car
car = await new Car();
в какой момент времени ты путаешься?

Dika
17.02.2018
09:38:39

Andrey
17.02.2018
09:38:59
Почему нет?

Дмитрий
17.02.2018
09:40:05
и почему ты его не написал? забыл?
ну так ты его можешь и в асинхронной функции забыть тогда

ujeenator
17.02.2018
09:40:39

Google

Andrey
17.02.2018
09:41:07
Потом await напишу. В другом месте.

Дмитрий
17.02.2018
09:42:32
и в чем тогда проблема не совсем понимаю?

Andrey
17.02.2018
09:42:40
Ты не понимаешь что происходит на уровне языка.

Дмитрий
17.02.2018
09:46:35
все равно не понимаю, что непонятного тут происходит...
ты изначально должен был видеть интерфейс асинхроннного класса, а значит знаешь, что он вернет обещание, если ты решил отложить - ну так ты сам должен понимать, что ты делаешь
а если потом забыл, что у тебя не созданный класс...
ну так с тем же успехом можно сказать, что ты можешь и про что угодно забыть

Andrey
17.02.2018
09:48:10

Дмитрий
17.02.2018
09:48:35
так а что мешает тебе сейчас забыть про обещание?

Admin
ERROR: S client not available

Andrey
17.02.2018
09:48:46
Еее, в новой версии js вы сможете не понимать свой код в 2 раза больше.

Дмитрий
17.02.2018
09:50:09
я говорю не про время или типа просто общения по-твоему забываются дольше, чем общеания созданные асинхронным классом
дык а если обещания можно сейчас создать функцией уже
и ты про них забудешь
может тут вопрос память а не языка тогда

Дмитрий
17.02.2018
09:50:43

Andrey
17.02.2018
09:50:58
А вот иметь AppleAsync я не готов.

Дмитрий
17.02.2018
09:53:25
окей опять мы приходим к семантике, как я понимаю...
ну что ж окей newAsync тогда как вариант

Andrey
17.02.2018
09:54:05

Google

Andrey
17.02.2018
09:54:14
Это стоит того?
Давай по другому. Ты у себя в коде так писал?
js это прекрасный язык с той точки зрения, что ты можешь накрутить все что угодно.
Я тебе предлагаю написать плагин для бабеля и пожить в таком режиме полгодика. В потом похвастааешься результатами.

Алёна
17.02.2018
09:57:09
Можно ещё пропозал создать для включения в стандарт.

Дмитрий
17.02.2018
09:57:16

Дмитрий
17.02.2018
09:57:17
я уже писал для чего - для более простой работы с асинхронными объектами и их создании

Andrey
17.02.2018
09:58:20

Дмитрий
17.02.2018
09:59:54
ну в теории наверно можно сделать это костылем конечно, но не знаю насколько костыль будет в таком случае большим...

Andrey
17.02.2018
10:00:12
У тебя будет собственный js.

Дмитрий
17.02.2018
10:00:53

Andrey
17.02.2018
10:01:30

Дмитрий
17.02.2018
10:01:58
ну для самого класса может быть, но речь еще про наследование

Andrey
17.02.2018
10:02:27

Дмитрий
17.02.2018
10:04:13
что нужно для расширение самого класса?
class.prototype там у нас какой?

Andrey
17.02.2018
10:05:22

Дмитрий
17.02.2018
10:06:24
так ну в теории можно расширить пожалуй через само наследование

Andrey
17.02.2018
10:06:37