
Дмитрий
16.02.2018
22:11:19
может быть - поживем увидим?

Andrey
17.02.2018
02:18:04
Объекты ломать не нужно.

Sergey
17.02.2018
02:27:16
а какой браузер лучше всего использовать для парсера на js?

Google

Andrey
17.02.2018
02:32:01
Пофиг.
Какой тебе удобнее.

ujeenator
17.02.2018
02:32:13


Дмитрий
17.02.2018
04:21:20
" (в идеале)"
вот только реальность обычно немного иная и далека от идеала) у нас тут костыли на костылях)
поэтому миром скорее правит прагматизм нежели идеализм) а к последнему мы больше стремимся по мере возможностей)

ujeenator
17.02.2018
04:26:20
лучше не так
давай конкретный пример

Дмитрий
17.02.2018
04:28:02
дак вон выше есть пример с машиной же
я хочу от нее сделать наследника - ну и как мне это сделать?

ujeenator
17.02.2018
04:28:09

Дмитрий
17.02.2018
04:29:13
ага еще за классы надо увольнять кажется тут многие так думают)

ujeenator
17.02.2018
04:29:16

Google

Дмитрий
17.02.2018
04:30:36
const car = await Car.create(red,model1);
ну я все про это говорю: тут ты используешь create для Car, а я решил расширить класс Car и создать SuperCar
ну и как тогда мне это сделать?

ujeenator
17.02.2018
04:34:03
в дочерних классах можно переиспользовать
Также частный паттерн в таких случаях это init метод
const car = new Car(red,model1)
await car.init()


Дмитрий
17.02.2018
04:37:54
ну да такой подход я сейчас и использую
а дальше уже идет видимо вопрос идеологии...
мы это уже ранее обсуждали, что я считаю, что лучше, чтобы было просто:
const car = await new Car( red,model1 );
вместо
const car = new Car(…(await Car.prepareCarArgs(red,model1)));
потому что для себя не вижу лично почему нельзя использовать конструктор сразу для таких целей
ну выкидывает у тебя создание объекта ошибку и что?
try catch в помощь
как будто это первая исключение в жизни
не здесь так в другом месте же будет

ujeenator
17.02.2018
04:39:47
и что вообще такое исключительная ситуация

Дмитрий
17.02.2018
04:41:27
я говорю не про семантику - я говорю про практику
const car = new Car(red,model1)
try await car.init() catch
или
try await new Car(red,model1) catch
для меня это одно и тоже - только в первом случае еще лишняя строчка текста

ujeenator
17.02.2018
04:43:21

Дмитрий
17.02.2018
04:44:17
что сложного в try catch? и еще раз говорю, что использовать его все равно ведь придется - вопрос лишь где

ujeenator
17.02.2018
04:44:21
тебе бы в Scala
раз ты прямо так любишь лаконичность

Дмитрий
17.02.2018
04:44:53
и как по мне понятнее использовать его на первом и единственном методе

ujeenator
17.02.2018
04:44:54

Дмитрий
17.02.2018
04:46:26
и да я специально говорю не о классах, а об асинхронных классах, потому что кто не понимает как работает асинхронные методы - пусть лучше их и не использует тогда
но для меня создание должно быть асинхронным
и да с await и try-catch писать код не так уж сложно в почти синхронном стиле - вопрос лишь навыка человека и его понимания

Google

ujeenator
17.02.2018
04:49:01

Дмитрий
17.02.2018
04:49:04
но все равно что такое класс - это функция-создатель
и раз уж появились асинхронные функции
я хочу лишь по логике иметь и аснихронную функцию-создатель
"ты большие проекты писал?"
ну как сказать... кода у меня много и асинхронного, поэтому вот и думаю, как мне его сделать более удобным...
но с другой стороны опять же вопрос определений - назвать это большим проектом пока тоже наверно нельзя...

ujeenator
17.02.2018
04:52:46

Дмитрий
17.02.2018
04:54:24
нет наверно пока поменьше
у меня куча модулей - каждый из них небольшой и в том и суть, что все грузится, выполняется асинхронно, поэтому количество символов я особо не считал
я за количеством никогда не гоняюсь - меня больше интересует качество скорее

ujeenator
17.02.2018
04:54:52
>я за количеством никогда не гоняюсь - меня больше интересует качеством скорее
эм
ладно, было весело, но я пошел

Дмитрий
17.02.2018
04:55:30
ладно давай
хотя я так и не услышал, чем ошибка в init лучше, чем в new - только потому что ты ее там не ожидаешь?
ну это лишь вопрос как я уже сказал понимания того с чем работаешь)
вообщем все упирается как я понял в стереотипы, идеологию и семантику...
давно уже заметил что в ит конечно много лишнего мусора, который с трудом чистят...
есть противник и классов и методов await
и те кто готов писать 1000 строк кода вместо пары лишь бы не использовать не любимые им паттерны или не совпадающие с ними по взглядам подходы

Дмитрий
17.02.2018
05:06:31
ладно неважно - мое дело предложить)
но надеюсь все-таки найдутся сторонники моего решения, как по мне оно все-таки более удобное нежели иные, но да это лишь мой взгляд на ситуацию?
кстати никто не в курсе, а какие мировые чаты по js есть??

Konstantin
17.02.2018
06:17:23
меня тут засунули в какой-то
@hellojschannel

Дмитрий
17.02.2018
06:21:20
это канал) я же говорю про чаты?

Andrey
17.02.2018
06:43:24
Попробуй описать что такое асинхронной выделение памяти. И будет норм.

Дмитрий
17.02.2018
06:50:31

Google

Дмитрий
17.02.2018
07:21:57

Andrey
17.02.2018
07:34:03

Дмитрий
17.02.2018
07:35:22
ну вообще подразумеваю объект, который обладает асинхронными свойствами - обещаниями
часть обещаний я предлагаю получить сразу при создании new, если это нужно
часть обещаний можно получить потом, если это опять же нужно

Andrey
17.02.2018
07:36:43

Дмитрий
17.02.2018
07:37:57
в смысле где хранится объект?
особой разницы с обычным объектом я не вижу
просто часть свойств неопределена и может быть получена позже
ну или при создании

Andrey
17.02.2018
07:39:34

Admin
ERROR: S client not available

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

Andrey
17.02.2018
07:44:40
Вот твой асинхронный конструктор.

Дмитрий
17.02.2018
07:45:26
эм ты сейчас сказал какую-то странную фразу?
если нет объекта, что с ним делать? ничего ясно дело
может стоит подождать пока он создаться?
для этого собственно и есть ключевое слово - await

Andrey
17.02.2018
07:46:20

Дмитрий
17.02.2018
07:46:43
new_car = await new car('red');

Andrey
17.02.2018
07:47:08
Поэтому конструктор должен быть синхронным.

Дмитрий
17.02.2018
07:47:45
еще раз говорю с чем работать? объект еще не создан

Google

Andrey
17.02.2018
07:48:04
Какой оставляем?

Дмитрий
17.02.2018
07:48:58
в смысле создается два объекта?
как именно?
мы можем создвать их как параллельно - так и по очереди
все зависит от твоих задач

Andrey
17.02.2018
07:49:41

Дмитрий
17.02.2018
07:50:25
мы можем создвать так Promise.all
а можем создавать так
await obj1
await obj2
а каком случае идет речь?
я не понимаю твоей задачи

Andrey
17.02.2018
07:50:47
Из 2 разных функций, которые выполняются по порядку.

Дмитрий
17.02.2018
07:52:16
все равно не совсем могу понять о чем именно речь
можешь написать в виде кода

Andrey
17.02.2018
07:52:34
Будет долго, так как я с телефона. Но ок, сейчас напишу.
let a = null
const f1 = async () => a = await new B()
const f2 = async () => a = await new C()
И после через promise.all вызываем эти 2 функции.

ujeenator
17.02.2018
07:54:57
я снова тут, и влезу со своими пятью копейками

Andrey
17.02.2018
07:55:01
Что будет в А?

Дмитрий
17.02.2018
07:55:18
те ты пытаешься создать один и тот же объект из разных функций?

ujeenator
17.02.2018
07:55:19

Andrey
17.02.2018
07:55:30