Size: a a a

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

2020 May 15

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
dirol 90
привет, нужен совет, не могу понять в чем проблема, в двух словах есть ListView, в него подгружаются айтемы которые есть в локлаьной БД Moor, для подгрузки инфы с сервера использую пагинацию, условно за 10 айтемов до конца делаю запрос и получаю данные, эти данные пишу в Moor, он соответственно сразу дает дает мне в UI инфу о поступлении новых айтемов и рендерит их.  Вот тут возникает вопрос. в момент получения данных от сервера + записи в БД + отдачи в юай у меня вылетают микрофризы на пол секунды где-то. Все вроде бы работает асинхронно, ну точнее сетевой запрос асинхронный, далее когда прилетает ответ пишу это асинхронно в бд ну а БД инфомирует уже о новых айтемах UI . Сорри если вышла каша )) сталкивался кто-то с похожей проблемой, или у меня явно косяк где-то в архитерктуре и я просто чрезмерно рендерю что-то изза этого эти микрофризы
фризы могут быть от jsonDecode
источник

d9

dirol 90 in Dart & Flutter по-русски
а как его можно побороть?
источник

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
координально любые проблемы решаются с помощью изолятов
источник

d9

dirol 90 in Dart & Flutter по-русски
ага вынести из основного треда фактически это все
источник

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
если уверен, что тебе колеса в палки вставляет именно jsonDecode, а все остальное супер - Compute оберни его
источник

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
Если все мозга делает - делай паралельно работающий изолят
источник

d9

dirol 90 in Dart & Flutter по-русски
понял, спасибо за совет, попробую
источник

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
Возьми вокер менеджер Даниила,
Или возьми компьютер Сергея
источник

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
Ну или можешь взять мой хелпер из гиста
источник

🅵

🅵🅾️🆇 in Dart & Flutter по-русски
источник

d9

dirol 90 in Dart & Flutter по-русски
спс, пробую
источник

S

S in Dart & Flutter по-русски
Привет всем.

При запуске выдает ошибку (OS Error: No address associated with hostname, errno = 7).

Я пытаюсь отправить запрос из сайта с настроенным локальном доменом lararest.my. В браузере хорошо работает json код(приклиплю скриншот внизу). Локальный сервер Open server. http://127.0.0.1:8000/api/categories - так тоже не работает. Когда я отправляю запрос, он показывает какую-то ошибку. Так же в yaml файле прописан - http: ^0.12.1.

//File Repository
   import 'package:http/http.dart' as http;

class Repository {

 String _baseUrl = 'http://lararest.my/api/categories';

 httpGet(String api) async {
   return await http.get(_baseUrl + "/" + api);
 }

}

   //Slider Code

   import 'package:ecommerce/repository/reposiory.dart';

   class SliderService{
     Repository _repository;
     SliderService(){
       _repository = Repository();
     }

     getSliders() async{
       return await _repository.httpGet('sliders');
     }
   }
источник

S

S in Dart & Flutter по-русски
источник

S

S in Dart & Flutter по-русски
где я сделал ошибку? можете помочь?
источник

N

Nelkor in Dart & Flutter по-русски
S
где я сделал ошибку? можете помочь?
Ну слушай, такого домена реально не существует)
источник

N

Nelkor in Dart & Flutter по-русски
источник

N

Nelkor in Dart & Flutter по-русски
А, сервер локальный? Так пропиши IP-адрес
источник

N

Nelkor in Dart & Flutter по-русски
вместо домена
источник

ND

Nikita Domnickij in Dart & Flutter по-русски
S
Привет всем.

При запуске выдает ошибку (OS Error: No address associated with hostname, errno = 7).

Я пытаюсь отправить запрос из сайта с настроенным локальном доменом lararest.my. В браузере хорошо работает json код(приклиплю скриншот внизу). Локальный сервер Open server. http://127.0.0.1:8000/api/categories - так тоже не работает. Когда я отправляю запрос, он показывает какую-то ошибку. Так же в yaml файле прописан - http: ^0.12.1.

//File Repository
   import 'package:http/http.dart' as http;

class Repository {

 String _baseUrl = 'http://lararest.my/api/categories';

 httpGet(String api) async {
   return await http.get(_baseUrl + "/" + api);
 }

}

   //Slider Code

   import 'package:ecommerce/repository/reposiory.dart';

   class SliderService{
     Repository _repository;
     SliderService(){
       _repository = Repository();
     }

     getSliders() async{
       return await _repository.httpGet('sliders');
     }
   }
Это флаттер?
источник

ND

Nikita Domnickij in Dart & Flutter по-русски
На эмуляторе локалхост на другом ип если что
источник