[JAVA] [Note] Où avez-vous utilisé async?

introduction

J'ai utilisé ceci comme référence.

Obtenez votre emplacement actuel avant de lancer l'application et de créer le widget

class _LoadingScreenState extends State<LoadingScreen> {
  @override
  void initState() {
    super.initState();
    // ---Utilisé ici---
    getLocation();
    // ------------------
  }

  void getLocation() async {
    Position position = await Geolocator().getCurrentPosition(
      desiredAccuracy: LocationAccuracy.low,
    );
    print(position);
  }

J'ai oublié d'attendre et je ne peux pas créer de widget

E/flutter (14324): This Overlay widget cannot be marked as needing to build because the framework is already in the process of building widgets. A widget can be marked as needing to be built during the build phase only if one of its ancestors is currently building. This exception is allowed because the framework builds parent widgets before children, which means a dirty descendant will always be built. Otherwise, the framework might not visit this widget during this build phase.

  void getLocationData() async {
    var weatherData =★ Attendre est requis ici ★ WeatherModel().getLocationWeather();

    Navigator.push(context, MaterialPageRoute(builder: (context) {
      return LocationScreen(
        locationWeather: weatherData,
      );
    }));
  }

Tenter de créer un widget lors de la récupération des données signifie que le processus tente de recevoir des données incomplètes (nulles) et la création du widget échoue.

Recommended Posts

[Note] Où avez-vous utilisé async?
Notez ce que vous avez fait pour utiliser Flycheck avec Python
Notez jusqu'à ce que vous utilisiez emacs avec WSL
D'où êtes-vous
[Utilisation gratuite] 7 sites d'apprentissage où vous pouvez étudier Python