#flutter #dart #flutter-layout #dart-polymer
Вопрос:
Привет, я не могу получить значение de value, которое возвращает мою функцию postTest()
String usuario = usernameController.text;
print('Si $usuario');
String password = passwordController.text;
print('Password: $password');
print("${postTest(usuario, password)}");
}
},
),
Registrate(),
],
),
),
),
),
),
),
Container(
padding: EdgeInsets.only(top: 500, left: 170),
child: ImagenAmbulancia(),
)
],
),
),
),
);
}
postTest(usuario, password) async {
final uri = 'http://10.0.2.2:5000/base/';
http.Response response = await http
.post(Uri.parse(uri), body: {"User": usuario, "Pass": password});
var repuesta = response.body;
String estadoUsuario = jsonDecode(repuesta)["respuesta"];
return estadoUsuario;
}
}
я пытаюсь сохранить значение, которое дает мне посттест, но я не могу … верни мне будущее , но мне нужна строка
Комментарии:
1. Поскольку это асинхронная функция, вам нужно дождаться результата, прежде чем использовать ее, вызовите метод с помощью await
2. @JorgeVieira, но когда я пытаюсь распечатать внутри функции postTest, например print(«$estadoUsuario»), я получаю значение … но когда я пытаюсь вызвать функцию типа String Value= postTest(обычно,пароль), я не могу получить значение, возвращающее estadoUsuario
Ответ №1:
когда вы хотите использовать свой метод, потому что его будущий тип (и будет заполнен в будущем) вы должны использовать .then
при вызове своего метода следующим образом
postTest(usuario, password).then((value) {
print(value);
});