Программирование : Dart & Flutter по-русски
Пашка
так ля вам нужно на запрос вешать таймаут и ловить через трай
Alexandr Drobyshev
а если в цикле? //код var myVar; var waiting = true; while (waiting) { future.then((data) => myVar = data; waiting = false;) } //тут етсь myVar;
Alexandr Drobyshev
если data из асинк 100% не нулл то можно одной обойтись
Max
Здесь написано While true
Alexandr Drobyshev
while (myVar == null){ try {future.then((data) => myVar = data; ?? } catch (e) { myVar = false} }
Alexandr Drobyshev
а там что должно быть. написано? вареник?)
Max
Почитайте что-нибудь про Event Loop?
Alexandr Drobyshev
или в дарте облась вдимости ограничена?) в жс это прекрасно сработает
Alexandr Drobyshev
ну дадите линк на то что почитать конкретно, с удовольствием)
Max
[
{
"type": "link",
"text": "https://medium.com/dartlang/dart-asynchronous-programming-isolates-and-event-loops-bffc3e296a6a"
}
]
Max
Подсказка - никакой асинхронный код не начнёт выполняться раньше, чем закончено исполнение синхронного кода.
Max
Если что, в JS Event Loop организован аналогично, так что здесь вы врёте (
Alexandr Drobyshev
ну может и вру, я не делал так) я всегда делаю асинхронно
Alexandr Drobyshev
я делал так только в с++
Alexandr Drobyshev
и работало прекрасно)
Alexandr Drobyshev
в тредах
Vadim Lukichev
+++ еще с учетом, что во флаттер "синхронный" код заканчивается на первом билде))
Max
В C++ абсолютно другая модель асинхронности. Один изолят в Дарте - это всегда один тред.
Alexandr Drobyshev
это уже второй за день косяк дарта))
Alexandr Drobyshev
хотя первый косяк и с плюсах есть(
Max
Косяк Дарта? Это исключительно ваш косяк.
Alexandr Drobyshev
ну конечно)
Alexandr Drobyshev
дарт ограничивает меня в кодинге
Max
Изолирующая многозадачность - это огромное преимущество.
Alexandr Drobyshev
мой косяк в выоре дарта?)
Alexandr Drobyshev
так а если мне надо
Alexandr Drobyshev
вот надо сделать) почему. в плюсха я могу)
Alexandr Drobyshev
а тут нет
Max
Именно поэтому - Дарт ограничивает разработчика в возможности отстрелить себе ногу, даже если разработчику очень приспичило. Нужно несколько тредов - делайте несколько изолятов.
Vadim Lukichev
есть еще 40 языков программирования как минимум, давайте ассемблер с прологом сравним
Alexandr Drobyshev
я не знаю пролог, не могу сравнивать
Max
И постарайтесь, пожалуйста, оформлять свои мысли законченными предложениями/сообщениями? Это не личные сообщения, а чат на 4000 участников.
Alexandr Drobyshev
я согласен что ограничивает, клево. тогда надо еще автомобили запретить, вдруг в аварию попадешь
Alexandr Drobyshev
ок, перепешу законченно "я не знаю пролог, не могу сравнивать." добавил точку
Max
Обратитесь со своим предложением в ГИБДД, я полагаю, там оценят.
Alexandr Drobyshev
как и вы оценили дарт)
Max
Вы пришли сюда рассказать нам, что Дарт плохой и писать на нём не нужно?
Alexandr Drobyshev
где я скзаал так? я скзаал что для веба нужно писать асинхронно
Max
Для любых интерфейсов нужно писать асинхронно. Не только для веба.
DVS (Read The F.ng Manual) Studio (NoHello)
[
{
"type": "italic",
"text": "сейчас все сайты на статике с SSR взвыли"
},
""
]
Iosif Futerman
Вы перескочили несколько. Вы игрались с конструктором, а не с членом класса. Естественно, что дочерний класс выделяет память под всех предков. Но конструктор должен отработать именно дочернего класса.
Alexandr Drobyshev
я вам привел пример кода на пхп где конструктор прекрасно родительский работает без явного обявления конструктора в наследнике я уже понял что в дарте не так, это не значит что взеде так как в дарте)
Alexandr Drobyshev
сср тут каким боком если речь про front js
Alexandr Drobyshev
если я напишу интерфейс для инкубара синхронный, гугл его не увидит, а вот веб сайт он может увидеть, и потмо в searchconsole придет сообщение что сайт проверьте, он медленный, и открыв гугл проверка сайта он напишет что надо код заапустить асинхронно
Alexandr Drobyshev
а именно про это я и наисал где была фраза про веб емнип
Max
А не задумывались, зачем Гугл делает эти проверки?)
Alexandr Drobyshev
да я ж дебил) я никогда не думаю
Alexandr Drobyshev
особенно слово даже преед словом гугл было тоже просто так, не намекая ни на что...
DVS (Read The F.ng Manual) Studio (NoHello)
[
{
"type": "mention",
"text": "@terraideas"
},
" бампни вопрос, нифига не понятно, 2к сообщений больно читать"
]
Alexandr Drobyshev
какой вопрос?
Alexandr Drobyshev
я не задавал вопросов)
DVS (Read The F.ng Manual) Studio (NoHello)
тот ради которого этот тред об ужасе дарта для веба
DVS (Read The F.ng Manual) Studio (NoHello)
тогда к чему этот холивар?
Alexandr Drobyshev
не было про ужасы дарта чел напсиал хочу сихнронно все сделать, но етсь одна асинхронная фукнция надо сдлеать ее выдвов в синхронном коде я прсото написал что для веба надо пистаь синхронно, и что даже если этогоне сделать даже гугл потом написет в инструментах проверки сайта что надо синхронно пистаь что потом затормаживается на долгое время) где холивар что дарт плох?
Alexandr Drobyshev
а как же
Alexandr Drobyshev
то что дарт так делает это плюс
Alexandr Drobyshev
то что я был бы не против чтоб дарт позволял мне сделать некие вещи - я говрил. как это связано с тем тчо дарт плох для веба если я скзаал про веб что там нужно пистаь асинхронно просто
Alexandr Drobyshev
вообще связи не вижу
Vadim Lukichev
тут был вопрос по "косяки", т.е. человек кодит на PHP затем приходит в dart, и удивляется почему реализация контструкторов отличается от пхп и сразу ярлык "косяк". Хотя реализация конструторов в пхп вызвает много вопросов, и ее со спокойной душой можно назвать "штоб було, типа удобно", и также повесить ярлык "косячной" от разраба на другом языке ява/с++/дарт и других. То же самое про конкаренси и мультизадачность. Если сравнить горутины, корутины, изоляты и фючи по дарту, тут можно много "косяков" увидеть от разрабов, котроые работали только с одним "языком"
Alexandr Drobyshev
вам виднее со сколькью языками я работал. а теперь оставим многопоточность, так как в целом то я как раз с ее реализацией согласен. про синхронность ыл вообще не мой вопрос и. никогда не возникало у меня с этим вопрсов, хз какую цель вы приследете навязывя мне этот вопрос) по этому тут как бы вопрос считаю не интересным)) вернемся к конструктору. Я хотел бы услышать почему нельзя сдлеать так class A { int a; A(this.a); } class B extend A {} B b = B(1); какая причина? почему, то что в пхп так можно сделать - это плохо?
Alexandr Drobyshev
мое мнение что есть класс, у него есть методы, конструкторы... дальше есть наследник, но вот свойства он наследует и методы, а конструктор нет( я просто считаю что тут было бы удобней если бы наследовал. простите, что я такой гад так считаю.
Егор Шепелев
Все просто: это дарт, а не пхп. Поэтому и нельзя
Alexandr Drobyshev
тут скорее риторический вопрос) понятно что в многопоточности надо синхранизирвоать потмоки при именении данных и реально чел кто не сталкивался может накодить так, что у него в процессе обработки переменнйо в одном потоке, и другой может начать ее менять. я ж говрю тут как бы вопросв нет и я только за просто интересно решение про наследование конструкторов, от чего тут предостережение)
Вадим
Господа, подскажите такую вещь Есть какая-то разница для производительности, между const конструктором и нет? Например const SizedBox() и SizedBox()
Alexandr Drobyshev
хотя риторический - невреное слово)) просто интересно
Max
У любого выбора при разработке языка есть свои причины, хотя они и не всегда очевидны. В данном случае, к счастью, всё просто. Конструктор A(this.a) возвращает экземпляр класса A. Который не является экземпляром класса B. Возможность вызвать его для класса B подразумевает неявный Type Casting, который противоречит явности типов (soundness), которую декларирует и поддерживает Dart. Система типов в PHP - странное явление, когда типизация "приделывается сбоку" к уже существующему языку, и неявный кастинг типов - меньшая из её проблем (а так же - неизбежное зло при таком подходе)
Vadim Lukichev
[
"просто наследование конструторов имхо не есть \"косяк\". или что-то что ограничивает разработчика.\nВот висит пока одиноко ",
{
"type": "link",
"text": "https://github.com/dart-lang/sdk/issues/9468"
},
""
]
Max
Бесконечная. const SizedBox выполняется в компайл-тайме и вообще не затрагивает рантайм)
Вадим
и лучше использовать const, если есть возможность?
Max
Да, но эта возможность есть довольно редко - все параметры должны быть известны в компайл-тайме, то есть быть тоже const
Alexandr Drobyshev
[
"висит... там в ",
{
"type": "link",
"text": "dart.io"
},
" висит куча иссуев о том что куки криво собирает либа ивисят они с 2015 года, и всем пофиг, хотя там надо только 1 строку убрать и все ок) но всем пофиг кто пишет ту либу) так что мне кажется мнение простых смертных таких как я никого не волнует)"
]
Вадим
ну const SizedBox(width: 16) такие вот вещи
Max
Да, идеальное место для применения const. У тебя там всегда 16, тебе не нужно считать это в рантайме.
Vadim Lukichev
может потому-что из тысяч разабов нужно десятерым? но в любом случае, он же опенсорсный если горит, и одна строчка, в чем проблема?
Alexandr Drobyshev
а почему тогда тут сработало
Alexandr Drobyshev
с const конструктором? там же передача пришедшух с сети данных, я не догоняю видимо как const работает)
Вадим
потому что поля final
Max
Потому что компилятор Dart умеет игнорировать Const в тех ситуациях, когда он неприменим.
Vadim Lukichev
ну и у C++11 добавили возможность наследования конструкторов, так что еще не все потеряно))
Alexandr Drobyshev
ну как бы с 15 года и они закрывают иссуи эти) и там месяц анзад штук 15 открытых висело на эту же тему, просто не понятно зачем они так сдлеали и почему закрывают)) суть в том тчо они куки соединяют все пришедшие запятой, а запятая может приходить еще внутри куки, и распаарсить потом надо регулярками, подгонять под свой случай))
Alexandr Drobyshev
ну финал это ж не этам компиляции, тут ка кбы не к финал вопрос) ну ок я понял что он игнорит
Max
В данном случае - описаны константные конструкторы. Если их вызвать с константными аргументами - они создадут константные экземпляры. Если с динамическими - обычные.
Alexandr Drobyshev
понятно, спасибо. просто вчера когда делал, удивило немного почему сработало) но я в релизе не тестил)
Max
Но да, это возможно только с final-полями, по понятным причнам.
Vadim Lukichev
[
"а это не относится с стандарту ",
{
"type": "link",
"text": "https://tools.ietf.org/html/rfc6265"
},
"?\nв котором сказано, что значения куки не должны иметь запятых"
]
Andrey
чем location отличается от geolocator? что лучше?
Alexandr Drobyshev
[
"куки приходят массивом с заголвоков типа\nSet-cookie: ....\nSet-cookie: ....\nони и им приходят массивом и они прсото джоинят через запятую\n",
{
"type": "link",
"text": "https://github.com/dart-lang/http/blob/master/lib/src/io_client.dart#L43"
},
"\n\nпо стандарту заголовков именно, речь не о куках даже, заголовки могут так приходит? из так шлет rails nginx и тд\nя не читал стадарт но вот так они приходят да, иначе как опнять где кончается старая кука и начинается новая?\n\nтогда с какой целью они имея просто массив джоинят его? где то в стандарте есть про то что. они должны джоинить запятой?"
]
Vadim Lukichev
"а запятая может приходить еще внутри куки" не может по стандарту
Alexandr Drobyshev
ну так почему шлет ее нжинкс? райлс? я сам ее что ли шлю?
Alexandr Drobyshev
там delimeter даты запятая
Vadim Lukichev
я не про нжинкс или еще что, я про стандарт, которого должны все придерживаться, чтобы помтом не выяснять отношения между разрабом прилы и бэка
Alexandr Drobyshev
вот сайт гугла, то етсь даже от гугла приходит запятая
Alexandr Drobyshev
я не вижу где написано что в дате не может быть запятой) я плохо знаю английский
Vadim Lukichev
а где там запятая в значениях куки?
Alexandr Drobyshev
а при че мтут значение, они заголовки скадывают
Alexandr Drobyshev
именно это и ломает
Alexandr Drobyshev
[
"вот смотрите, вот так прилетают рав заголовки грубо говоря\nset-cookie: OTZ=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=",
{
"type": "link",
"text": "www.google.com"
},
"\nset-cookie: OTZ=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=.",
{
"type": "link",
"text": "www.google.com"
},
"\nset-cookie: OTZ=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=",
{
"type": "link",
"text": "google.com"
},
"\nset-cookie: OTZ=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=.",
{
"type": "link",
"text": "google.com"
},
"\n\nя в дарте получаю так\nset-cookie: OTZ=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=",
{
"type": "link",
"text": "www.google.com"
},
",OTZ=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=.",
{
"type": "link",
"text": "www.google.com"
},
",OTZ=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=",
{
"type": "link",
"text": "google.com"
},
",OTZ=; expires=Mon, 01-Jan-1990 00:00:00 GMT; path=/; domain=.",
{
"type": "link",
"text": "google.com"
},
""
]
Alexandr Drobyshev
при этом вот тут они сами получают их масисвом response.headers и джоинят и отдают стрингом, для чего?
Alexandr Drobyshev
var headers = {}; response.headers.forEach((key, values) { headers[key] = values.join(','); });
Vadim Lukichev
не понятно при чем здесь headers если у респонса есть cookies
Alexandr Drobyshev
не понял вопроса
Vadim Lukichev
нужны хидеры или куки?
Alexandr Drobyshev
я повторю что ломает, заголовк может один и тот же идти несоклько раз, они заголвок получают массивом, потом складывают с строку чрезе запятую, неважно кука или нет, но кука ломается
Alexandr Drobyshev
ну мне напрмиер в целом надо куки именно, я регуляркой парсю
Alexandr Drobyshev
там кстати вообще заголовки складывюат, значит по стандарту не ток куки но и вообще заголвок не может иметь запятой в значении? думюа это не так, заголвок может кастомный быть и тоже сломают
Alexandr Drobyshev
ну вот пример с датой в куках, так же любой другой будет гемор парсить, может даже не возможно)
Vadim Lukichev
[
"есть хидеры\n",
{
"type": "link",
"text": "https://api.dart.dev/stable/2.8.4/dart-io/HttpClientResponse/headers.html"
},
"\nесть куки (они конечно из хидеров set-cookie вызываются но не суть)\n",
{
"type": "link",
"text": "https://api.dart.dev/stable/2.8.4/dart-io/HttpClientResponse/cookies.html"
},
"\nи это не работает?"
]
Alexandr Drobyshev
сейчас проверю, но суть все равно в том что заголовки джоинят не понятно для каокой цели если бал масисв и не было проблем)) у меня там еще токен идет допутим мало ли какой будет стандарт токена потом и что в нем придет, в любом случае это имхо не верное решение
Vitalii
Все привет. Кто подскажет как лучше реализовать border glow при том что «кнопка» внутри прозрачная?
Anton ?? ? ??
[
"'UnityFramework/UnityFramework.h' file not found \n\nподскажите как чинили это в\n\n",
{
"type": "link",
"text": "https://github.com/juicycleff/flutter-unity-view-widget"
},
""
]
Alexandr Drobyshev
[
"а как мне достать эти куки?) что то у меня нет такого свойства у респонза\n",
{
"type": "code",
"text": "import 'package:http/http.dart' show Client, Response;"
},
""
]
Anton ?? ? ??
это в Xcode
Alexandr Drobyshev
это видимо другой надо)
Alexandr Drobyshev
там там вроде ж как раз и есть получение с dsrt io либи и в dart http уже ломается
Vadim Lukichev
у меня есть)) HttpClientResponse
Alexandr Drobyshev
то етсь там и хедеры с дарт io приходят правлиьно массивом
Alexandr Drobyshev
ну мы видимо разные либы юзаем
Алекс
Неверно понимаете. Но это не суть
Alexandr Drobyshev
[
{
"type": "link",
"text": "https://flutter.dev/docs/cookbook/networking/fetch-data"
},
"\nвот тут я брал инфу когда начал юзать dart http"
]
Sergey Larionov
Если бы наследовался конструктор из родительского класса, но было бы непонятно, как инициализировать final поля дочернего класса. Отсюда немного громоздкое, но полностью корректное требование определить конструктор в дочернем классе, из которого уже вызывать конструктор родительского класса. Единственное, можно было бы разрешить такое "наследование" конструктора родительского класса при отсутствии final полей в дочернем классе. Но тогда другая проблема: добавляешь final поле в дочернем классе, и почему-то отваливаются конструкторы. ??
Vadim Lukichev
да, действительно пользуемся dart:io, в dart:http куки нет??
Алекс
В том что в текущей реализации множества вызовов синхронных функций только в одной необходимо дождаться результата от сервера, а значит нужно переделать все предыдущие вызовы функций с признаком async-await или в качестве результата фунции переделать Future , а это опятт переделки. Просто переделываю кое-что с с++ и столкнулся с токой проблемой. Если не найду другого решения то так и сделаю
Алекс
Это понятно, просто искал варианты. Вдруг чего не знаю
Алекс
Кстати замечание было верное. Случаи бывают разные, как у меня. И в некоторых случаях синхронные вызовы отработают быстрее
Alexandr Drobyshev
так а чем не подходит вараинт только одну функци передатьЮ обернутьв се и сдлеать 1 асинхроную и взывать из другой через then
Alexandr Drobyshev
я до сих пор не понимаю к чему то замечание, при чем тут быстрее, сохнронные всегда бытсрее, это как минимум минус вызов функции
Алекс
Пробовал почто так же, вешало поток
Алекс
К тому что нужно еще много чего накрутить если в цепочке вызовов идет много функций
Алекс
В c++ и у меня работало отлично. Но в webdev поток только один.
Алекс
В webdev их нет. Я бы с удовольствием
Sergey Larionov
Не знаю деталей Флаттера в web, но что, это действительно так? Звучит сомнительно. Из вёб-приложения на Флаттере разве нельзя создавать дополнительные изоляты?
Алекс
Я не на флатере пишу. У меня webdev, это когда код на дарте компилируется в js
Sergey Larionov
И что в таком случае будет при попытке создать дополнительный изолят? Ошибка? Исполнение всё равно в одном потоке? Что-то еще?
Alexandr Drobyshev
очевидно что если в js один поток то не вжано на чем пислаось, в итоге он будет один)
Алекс
Как только я добавляю dart:isolate, проект перестает собираться
Алекс
[
"Кстати про минхронность обращения к серверу смотрел здесь\n",
{
"type": "link",
"text": "https://sites.google.com/site/dartlangexamples/api/dart-html/interface/eventtarget/httprequest/synchronous"
},
""
]
Алекс
Но во первых XmlHttpRequest нет, а во вторых при замене на httpRequest код работал не так, точнее никакой синхронности не бвло
Sergey Larionov
Если честно, откровенно странная идея обращаться к серверу синхронно. Даже если такая техническая возможность есть, мне кажется лучше не пользоваться. Тем более в приложении с пользовательским интерфейсом (т.е. не на бекэнде), потому что всё подвиснет на время ожидания ответа сервера.
Алекс
Я согласен с вами, но эта операция не такая частая, планировал данные скачивать в кеш и потом использовать оттуда
Max
Есть воркеры. Но можно ли их удобно подключать из Dart - я не смотрел.
Алекс
Ссылочку можно или первое в google?
Max
Web Worker, удобнее всего на MDN читать.
Max
[
{
"type": "link",
"text": "https://developer.mozilla.org/en-US/docs/Web/API/Web_Workers_API/Using_web_workers"
},
" - собственно, изолирующая многозадачность и нативный Event Loop - это то хорошее, что Dart позаимствовал в JS"
]
Max
Но вашу проблему это не решит никак - ответ от воркера тоже можно получить только асинхронно.
Max
Если я правильно понял описанную проблему с переносом кода - возможно, самым простым способом будет написать отдельный маленький асинхронный фетчер данных, который будет их сохранять, и потом вызывать предполагавшийся синхронный код - который сможет прочитать сохранённые данные синхронно.
Алекс
[
"В чем задача. У меня есть парсер который обрабатывает некоторый скрипт, но в коде скрипта есть ссылки на другие файлы ",
{
"type": "hashtag",
"text": "#include"
},
", которые ранее (с++) я загружал из файла, теперь же необходимо тягать с сервера. Пробую данную задачу перетащить на web. И все было хорошо пока не столкнулся с их загрузкой."
]
Max
А включить подгружаемые файлы сразу в Bundle? (Вообще говоря, Dart при компиляции сделает именно это - даже писать ничего не нужно)
Алекс
Они могут со временем меняться и встраивать их в проект не хотелось бы. К тому же файлов может бвть много и не все они нужны в определенном случае, а тягать весь js при загрузке страницы не хочется
Max
Если хочется lazy loading, то без асинхронности не обойтись.
Max
[
{
"type": "link",
"text": "https://dart.dev/guides/language/language-tour#deferred-loading"
}
]
Alexandr Drobyshev
вчера уже спрашвиал, можно ли ка кто сделать так?) чтоб работало)) может сегодня у кого есть мысли)
Alexandr Drobyshev
[
{
"type": "code",
"text": "ResourceBloc(this.repository): super(S.empty());"
},
"\nтак не работает))"
]
Alexandr Drobyshev
или же если это невозможно, то просто сократить запись вместо Resource > чтоб писать MessageState а студия сама подставляла полное имя типа
Max
Так тебе в конструктор нужно S передать.
Alexandr Drobyshev
я понимаю, я решаю вопрос сокрщения записи
Max
Ты можешь скастить надтип к подтипу, но не наоборот
Alexandr Drobyshev
BlocBuilder >, Resource>()
Alexandr Drobyshev
вот тут ппц писать прсото
Alexandr Drobyshev
typedef MessageState Resource >; типа так бы)) или хз как сократить
Alexandr Drobyshev
точно, скасатить
Alexandr Drobyshev
[
"а если так \n",
{
"type": "code",
"text": "ResourceBloc(this.repository): super(ResourceState .empty() as S);"
},
""
]
Alexandr Drobyshev
компилятор пропустил но может быть конечно ошибка в работе)
Max
И будет. В обратную сторону сработало бы, но это не то, что тебе нужно
Alexandr Drobyshev
о а если пойти с дургой стороны, MessageBloc extends ResourceBloc<> сдлеать
Alexandr Drobyshev
ща попробую
Alexandr Drobyshev
а не выйдет видимо(
Gorohov Valeriy
Вечер добрый. Кто-нибудь сталкивался, что на определенном проекте отваливается анализатор (не работает автокомплит на классах)? Проблема явно в проекте, т.к.: 1) не работает на двух PC, 2) только в этом проекте (параллельно запущенный другой проект работает отлично) 3) не зависит от IDE (тестировалось AS и VSCode) Куда копать?
Alexandr Drobyshev
я сталкивался! я так и не понял куда копать, так ка кдругие проекты работают а один нет, я даже студию переустановил, удалял файлы кеша и метафайлы и не помогло
Alexandr Drobyshev
в итоге я создал новый проект и скопирвоал туда исходники и все заработало)
Alexandr Drobyshev
вот так вараинт допустим, но как мне по S вызвать коструктор нужный не понимаю
Alexandr Drobyshev
[
"то есть дарт знает что ",
{
"type": "code",
"text": "ResourceState"
},
" имеет loading() но вот что это же имеет его наследник не знает"
]
Maxim Mityushkin
Ну чтож, когда уже поддержку Edge to edge завезут нормальную?
Vadim Lukichev
[
"Может это как-то, но вроде редкий кейс\n",
{
"type": "link",
"text": "https://dart.dev/guides/language/sound-problems#the-covariant-keyword"
},
""
]
Alexandr Drobyshev
спс, гляну, ща пока пытаюсь пределать на factory может сработает
Gorohov Valeriy
Спасибо, это уже хоть какой-то анамнез )
Alexandr Drobyshev
Unhandled Exception: Unhandled error type 'ResourceState >' is not a subtype of type 'ArticlesState' occurred in Instance of 'ArticlesBloc'.
Alexandr Drobyshev
падает на 15 строке)
Alexandr Drobyshev
[
{
"type": "code",
"text": "class ArticlesBloc extends ResourceBloc > {\n ArticlesBloc({ ArticlesRepository repository }):\n super(ArticlesState.empty(), repository);\n}"
}
]
Alexandr Drobyshev
[
"как так, вроде ж все верно, я S описал как ",
{
"type": "code",
"text": "ArticlesState"
},
" значит его и ждем"
]
Alexandr Drobyshev
[
"в родителя передал ",
{
"type": "code",
"text": "ArticlesState"
},
""
]
Alexandr Drobyshev
[
"то есть\n",
{
"type": "code",
"text": "ResourceState copyWith({ ResourceStatus status, T data, ServerError error}) =>\n ResourceState._(\n status: status ?? this.status,\n data: data ?? this.data,\n error: error ?? this.error,\n );"
},
"\nвернут таки ResourceState блин... опять не прокатило))"
]
Alexandr Drobyshev
а как можно объявить метод что он вренет именно сво экземпляр не, думаю не прокатит( там же создание все равно обекта упадет тогда
Alexandr Drobyshev
[
"все, вопрсоы отпали пока) оно без типов работает\n",
{
"type": "code",
"text": "return BlocBuilder ("
},
"\nи все ок"
]
Alexandr Drobyshev
два дня рыл не проверяя надо ли оно вообще))
Alexandr Drobyshev
[
"кто то юзал? ",
{
"type": "link",
"text": "https://pub.dev/packages/grouped_list"
},
""
]
Alexandr Drobyshev
там омжно как то скрывать хеер что пришел в момент когда он проходит то есто где долен остаться?
Sergiy Nevedomyy
вот здесь C:\Users\{you}\AppData\Local снеси .dartServer; плюс C:\Users\{you}\AppData\Roaming\Code очисти внутри все папки с именами Cache....(4шт) для профилактики
Alexandr Drobyshev
[
"не могу я победить данный виджет))\n",
{
"type": "link",
"text": "https://pub.dev/packages/sticky_grouped_list"
},
""
]
Alexandr Drobyshev
не вовремя дата меняется, да и по хорошему нужно чтоб зата по верх перекрывала а потом пропадала
Alexandr Drobyshev
аналога не нашел) то етсь дата меняется с большим запозданием)
Тарас
Привет. Нужно чтобы background-image был зафиксирован сверху, и при скролле, когда image заканчивался, показывался только background-color. Сейчас background-image скроллится вместе с контентом
Миша
если я верно понял тебя, то как раз сча в видео увидел
Никита
[
"Доброе утро, нужны разработчики. \nПо всем вопросам писать ",
{
"type": "mention",
"text": "@invingo"
},
"\n",
{
"type": "link",
"text": "https://apd.agency/vacancy"
},
""
]
Aleksandr Mishchenko
[
"Вам в ",
{
"type": "link",
"text": "https://t.me/dartlang_jobs"
},
""
]
|