【问题标题】:This expression has a type of 'void' so its value can't be used - Flutter这个表达式的类型是 \'void\' 所以它的值不能被使用 - Flutter
【发布时间】:2023-01-28 10:03:52
【问题描述】:
import 'package:demo_app/services/api.dart';
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

class AuthProvider extends ChangeNotifier{
  bool isAuthenticated = false;
  late String token;
  late ApiService apiService;

  AuthProvider() {
    init();
  }

  Future<void> init() async {
    token = await getToken();
    if (token.isNotEmpty) {
      isAuthenticated = true;
    }
    apiService = ApiService(token);
    notifyListeners();
  }

  Future<void> register(String name, String email, String password, String passwordConfirm, String deviceName) async{
  token = await apiService.register(name, email, password, passwordConfirm, deviceName);
  isAuthenticated = true;
  setToken();
  notifyListeners();
  }

  Future<void> logIn(String email, String password, String deviceName) async{
  token = await apiService.login(email, password, deviceName);
  isAuthenticated = true;
  setToken();    
  notifyListeners();
  }

  Future<void> logOut() async{
  token = '';
  isAuthenticated = false;
  setToken();  
  notifyListeners();
  }

  Future<void> setToken() async{
    final pref = await SharedPreferences.getInstance();
    pref.setString('token', token);
  }

  Future<void> getToken() async{
    final pref = await SharedPreferences.getInstance();
    pref.getString('token') ?? '';
  }

}

令牌 = 等待 getToken();

给出这个错误

此表达式的类型为“void”,因此无法使用其值。 尝试检查您是否使用了正确的 API;可能有一个函数或调用返回了您没有预料到的 void。还要检查也可能为空的类型参数和变量。

关于解决这个问题的任何线索?

【问题讨论】:

  • getToken 返回 Future&lt;void&gt;。它可能应该返回 Future&lt;String&gt;
  • 哪条线导致了这个问题?
  • 令牌 = 等待 getToken();

标签: laravel flutter api


【解决方案1】:

试试下面的代码:

Future<String> getToken() async{
  final pref = await SharedPreferences.getInstance();
  final token = pref.getString('token') ?? '';
  return token;
}

【讨论】:

    猜你喜欢
    • 2021-09-09
    • 1970-01-01
    • 1970-01-01
    • 2022-08-19
    • 1970-01-01
    • 2023-02-23
    • 1970-01-01
    • 1970-01-01
    • 2022-07-21
    相关资源
    最近更新 更多