抖动身份验证异步问题

时间:2018-12-27 19:39:39

标签: http authentication asynchronous flutter future

嘿,

我正在构建我的第一个Flutter应用程序,我真的很新。 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,并且过一会儿(与后端建立连接后)它返回正确的状态代码。

我该如何解决?

预先感谢

0 个答案:

没有答案
相关问题