Size: a a a

Dart & Flutter по-русски

2020 August 02

DK

Danial Kolyasnikov in Dart & Flutter по-русски
Ребят, кто-то в курсе как побороть «Trust anchor for certification path not found.» при использовании вебсокетов ? Сертификат стоит (zerossl) но все равно ругается и не дает подключиться
источник

КА

Кирилл Апарин... in Dart & Flutter по-русски
Вопрос такой, как сделать чтобы yield операция проводилась после async функции?

 @override
 Stream<MainPageState> mapEventToState(
   MainPageEvent event,
 ) async* {
   if (event is AddOrder) {
     print('Add order');
     Iterable<CallLogEntry> _callLogEntries = [];
     var result = await CallLog.query();
     _callLogEntries = result;

     var list = _callLogEntries.toList();
     if (list.length > 0)
       for (int i = 0; i < list.length - 1; i++) {
         if (_listPhones.length > 2) break;
         for (var j in _listPhones)
           if (list[i].formattedNumber != j)
             _listPhones.add('${list[i].formattedNumber}');
       }
     orderData.phoneNumbers = _listPhones;
     yield NewOrder(
       orderData,
     );//вот эта штука работают сразу, в итоге у меня прилетает null, я хочу чтобы сначала список _listPhones наполнился, а потом вызывался yield
   }}
источник

RC

Rv Ch in Dart & Flutter по-русски
Кирилл Апарин
Вопрос такой, как сделать чтобы yield операция проводилась после async функции?

 @override
 Stream<MainPageState> mapEventToState(
   MainPageEvent event,
 ) async* {
   if (event is AddOrder) {
     print('Add order');
     Iterable<CallLogEntry> _callLogEntries = [];
     var result = await CallLog.query();
     _callLogEntries = result;

     var list = _callLogEntries.toList();
     if (list.length > 0)
       for (int i = 0; i < list.length - 1; i++) {
         if (_listPhones.length > 2) break;
         for (var j in _listPhones)
           if (list[i].formattedNumber != j)
             _listPhones.add('${list[i].formattedNumber}');
       }
     orderData.phoneNumbers = _listPhones;
     yield NewOrder(
       orderData,
     );//вот эта штука работают сразу, в итоге у меня прилетает null, я хочу чтобы сначала список _listPhones наполнился, а потом вызывался yield
   }}
а ты уверен что не отрабатывает ? если сразу _listPhones вставишь в state тоже null?
источник

КА

Кирилл Апарин... in Dart & Flutter по-русски
Я про это и говорю, она работает, только даёт null, мне нужно чтобы ответ пришёл от CallLog.query()
источник

RC

Rv Ch in Dart & Flutter по-русски
Кирилл Апарин
Я про это и говорю, она работает, только даёт null, мне нужно чтобы ответ пришёл от CallLog.query()
поставь брейкопинты на yield и строчку выше ( где присваиваешь к phoneNumbers), посмотри как отрабатывает, по идее не должно быть проблемы с асинхронностью
источник

OP

Oleg Pchelkin in Dart & Flutter по-русски
Кирилл Апарин
Вопрос такой, как сделать чтобы yield операция проводилась после async функции?

 @override
 Stream<MainPageState> mapEventToState(
   MainPageEvent event,
 ) async* {
   if (event is AddOrder) {
     print('Add order');
     Iterable<CallLogEntry> _callLogEntries = [];
     var result = await CallLog.query();
     _callLogEntries = result;

     var list = _callLogEntries.toList();
     if (list.length > 0)
       for (int i = 0; i < list.length - 1; i++) {
         if (_listPhones.length > 2) break;
         for (var j in _listPhones)
           if (list[i].formattedNumber != j)
             _listPhones.add('${list[i].formattedNumber}');
       }
     orderData.phoneNumbers = _listPhones;
     yield NewOrder(
       orderData,
     );//вот эта штука работают сразу, в итоге у меня прилетает null, я хочу чтобы сначала список _listPhones наполнился, а потом вызывался yield
   }}
А callLogEntries.tolist() точно не пустой?
источник

КА

Кирилл Апарин... in Dart & Flutter по-русски
Rv Ch
поставь брейкопинты на yield и строчку выше ( где присваиваешь к phoneNumbers), посмотри как отрабатывает, по идее не должно быть проблемы с асинхронностью
Всё верно, с ними всё четко работает, как теперь сделать без них
источник

RC

Rv Ch in Dart & Flutter по-русски
Кирилл Апарин
Всё верно, с ними всё четко работает, как теперь сделать без них
orderData то  инициализирован?
источник

КА

Кирилл Апарин... in Dart & Flutter по-русски
Конечно
источник

КА

Кирилл Апарин... in Dart & Flutter по-русски
Я считаю, что yield возвращается раньше чем приходят данные от CallLog.query(), и я не знаю, как сделать наоборот
источник

p

prz in Dart & Flutter по-русски
Продолжу череду тупых вопросов:
по кнопке делаю get и вывожу данные на экран через setState

Если я хочу сразу при запуске вытянуть данные и вывести на экран - это тоже через setState?
источник

КА

Кирилл Апарин... in Dart & Flutter по-русски
Можно использовать initState
источник

p

prz in Dart & Flutter по-русски
мерси
источник

di

dmitrii ivanov in Dart & Flutter по-русски
Кирилл Апарин
Всё верно, с ними всё четко работает, как теперь сделать без них
в брейкпойнт только по 1 разу падает?Может вызовов больше чем кажется и потом просто значения затираются после второго вызова?
источник

КА

Кирилл Апарин... in Dart & Flutter по-русски
Всё, спасибо, решил проблему) Поставил условие перед yield, если список НЕ пустой то делаю yield
источник

S

Sergey in Dart & Flutter по-русски
Ребята, как сделать такие же кнопки, но на flutter? И чтобы сразу под android было)
источник

S

Sergey in Dart & Flutter по-русски
Вопрос отпал, библиотека quick_actions
источник

КА

Кирилл Апарин... in Dart & Flutter по-русски
Как сравнить элемент со всеми элементами в массиве, и если он отличается от всех, что-то делать? Есть ли какая-то готовая функция, или писать самому?
источник

МИ

Михаил Иванов... in Dart & Flutter по-русски
If contains, не?
источник

КА

Кирилл Апарин... in Dart & Flutter по-русски
Юрий
Call_log
Реально выручил) спасибо
источник