Hej,
Я создаю свое первое приложение Flutter, и я действительно новичок.Флаттер действительно классный.
Мое приложение должно войти в бэкэнд PHP для получения данных.Мне удалось заставить его работать между клиентом и сервером.Однако я обнаружил проблему на стороне клиента.Приложение должно ждать, пока не будет установлено соединение с бэкэндом.Я написал эту функцию как часть класса сеанса.
int login (String username, String password, String url) {
String request = '$url/php/getAccess.php';
String basicAuth = 'Basic ' + base64Encode(utf8.encode('$username:$password'));
var response = await http.get(
Uri.encodeFull(request),
headers: {'authorization': basicAuth}
);
return response.statusCode;
}
Проблема в том, что оператор await не принят компилятором.Я экспериментировал с тогдашней реализацией Future, такой как
int login (String username, String password, String url) {
String request = '$url/php/getAccess.php';
String basicAuth = 'Basic ' + base64Encode(utf8.encode('$username:$password'));
http.get(
Uri.encodeFull(request),
headers: {'authorization': basicAuth}
)
.then((response)
{
return response.statusCode;
});
return -1;
}
. Это означает, что функция возвращает -1 в первый раз, а через некоторое время (когда соединение с бэкендом установлено) возвращает правильный код состояния..
Как я могу решить эту проблему?
Заранее спасибо