У меня уже есть кнопка для получения API с функцией ++ увеличения индекса и установки нового параметра на каждый щелчок . Мой вопрос: как установить «как кеш» для ответа json в качестве индекса?
здесь мой http.post запрос =
List<dynamic> _myResponse = [];
Future<void> trytoFetch(myIndex, parameter) async {
var url =
"https://jsonplaceholder.typicode.com/posts/$parameter";
Map<String, String> headers = {
'Content-type': 'application/json',
'Accept': 'application/json',
};
final response = await http.post(url, headers: headers);
final responseJson = json.decode(response.body);
if (response.statusCode == 200) {
setState(() {
_myResponse[myIndex] = responseJson; // ITS DOESNT WORKS
});
} else {
setState(() {});
throw Exception('Failed to load internet');
}
}
Моя цель такая:
if (response.statusCode == 200) {
setState(() {
_myResponse[0] = responseJson; // return responseJson from parameter
// Then I click the button with new parameter value and increment index
_myResponse[1] = responseJson; // return responseJson from new parameter
// Then I click the button with another new parameter value and increment index
_myResponse[2] = responseJson; // return responseJson from new parameter again
});
} else {
setState(() {});
throw Exception('Failed to load internet');
}
, и в конце я могу просто распечатать возвращенный json
print(_myResponse[0]);
print(_myResponse[1]);
print(_myResponse[2]);
Как этого добиться? Является ли это возможным? Спасибо