json.decode(response.body)..."Здесь response.body не работает ..."

Пожалуйста, помогите мне... Я только что попробовал этот код:

**try {
      final response = http.get(url);                       // Giving error here 
      final extractedData = json.decode(response.body);
    } catch (error) {
      throw error;
    }**

Сообщение об ошибке "message": "Получатель 'body' не определен для типа 'Future'.\ N Попробуйте импортировать библиотеку, которая определяет 'body', исправив имя на имя существующего получателя, или определив геттер или поле с именем 'body'. ",

1 ответ

Решение
try {
      final response = await http.get(url);   
      final extractedData = json.decode(response.body);
    } catch (error) {
      throw error;
    }

Вы получаете эту ошибку, потому что get() возвращает Future<Response>, что означает, что он асинхронный, поэтому вам нужно использовать async / await, чтобы получить Response объект, а затем позвонить body.

Пожалуйста, проверьте следующее:

https://dart.dev/codelabs/async-await

/questions/10144297/asinhronnoe-protiv-sinhronnogo-vyipolneniya-chto-eto-dejstvitelno-oznachaet/10144306#10144306

Другие вопросы по тегам