I'm facing this problem where I can't return a value from my API as a double.
Future<int> getStock(String refProd) async {
int stok = 0;
final response = await http.get(
Uri.parse("http://127.0.0.1:8000/api/produit/stock/$refProd"),
headers: <String, String>{
'Content-Type': 'application/json; charset=utf-8',
'Accept': 'application/json; charset=utf-8',
},
);
if (response.statusCode == 200) {
setState(() {
stok = jsonDecode(response.body);
});
return stok;
} else {
throw Exception('DB ERROR!');
}
}
Trying to print it like this :
print(getstock('1200').toString());
It returns : InstanceofFuture<int>
but not the returned value which is stok
.
CodePudding user response:
try this :
int stock= await getStock('1200');
or directly
print(await getstock('1200').toString());
CodePudding user response:
Your function is async
and therefore returns a Future
. You could await
the result of getStock
before using it, like so:
print(await getstock('1200').toString());