0
votes

Exception non gérée: Tapez 'String' n'est pas un sous-type de type 'Future ' dans Type Cast

Je reçois cette erreur, quelqu'un peut-il m'aider à résoudre cette erreur xxx pré>

J'ai utilisé la fonction ci-dessus dans SETPREF () Fonction P>

 getpref() async {
    SharedPreferences prefs = await SharedPreferences.getInstance();
    int classNo = int.parse(prefs.getString("class")[0]);
    int schoolId = prefs.getInt("school_id");

      print("hello");
      response=(await ApiService.get_video_lecture_subject(schoolId, classNo)) as Future<String> ;
      print(response);
  }


5 commentaires

Est-ce que Imprimer (réponse.tostring ()) provoque la même erreur?


Il imprime, cela fonctionne mais


réponse = (attendre apiserice.get_video_lectrecture_subject (école, classno)) comme futur ; ,


Cette ligne provoque une erreur


String Response = Await apiserice.get_video_lectrecture_subject (école, classno);


3 Réponses :


0
votes

L'expression: xxx

appelle votre méthode get_video_lectrecture_subject . Qui retourne un futur . Vous attendez ensuite cet avenir, ce qui entraîne une chaîne .

alors vous essayez de jeter cette version sur futur . Cela échoue parce qu'une chaîne n'est pas un avenir.

Essayez de supprimer le comme futur .


4 commentaires

Une valeur de type 'string' ne peut pas être attribuée à une variable de type 'future '. Essayez de changer le type de variable ou de jeter le type de droite à «Future '


J'ai utilisé la réponse de


Futur réponse;


Si le type de réponse est futue , vous ne pouvez pas attribuer une chaîne à celle-ci. Alors, qu'est-ce que vous voulez à faire à la place?



0
votes

Remplacez la ligne avec cette

      final res = await ApiService.get_video_lecture_subject(schoolId, classNo);


1 commentaires

Une valeur de type 'string' ne peut pas être attribuée à une variable de type 'future '. Essayez de changer le type de variable ou de jeter le type de droite à «Future '



0
votes

Vérifiez cet exemple d'exemple et laissez-moi savoir s'il fonctionne xxx


0 commentaires