0

で使用SocialProviderしていChangeNotifierます。Consumerユーザーがログインした後、Web 上のデータベースに投稿した後に、リスナー ウィジェットを更新する必要があります。

現在、Futurehttp 投稿が成功したときに共有設定ファイルに新しい値を挿入するメソッドを呼び出していますが、共有設定をロードするページが呼び出されるまで UI は更新されません。

インスタント アップデートを確認するために、内からChangeNotifierやその他の種類のsetState関数にアクセスする方法はありますFutureか? これが未来です。

Future<void> postSocialData(String email) async {
    final url = "http://example.com/example.php?currentemail=$email"          

  final response = await http.get(url);
  String currentuserid;

  if (response.statusCode == 200) {

    currentuserid =  response.body;

      setSharedPreferences(
      currentavatar: "http://example.com/" + response.body + "-user.jpg",
      currentemail: email,
      currentlogged: true,
      currentuserid: currentuserid,
    );

    print(response.body);

  } else {

    throw Exception('We were not able to successfully post social data.');
  }
}

メソッドから即時更新を取得する方法についてのアイデアはありますFutureか?

4

1 に答える 1

0

自体Future<void> postSocialDataのスコープ内にを挿入できたことが判明したため、 Future 内で を使用して.class SocialProvider with ChangeNotifierChangeNotifierConsumers/listeners

于 2020-07-27T06:51:15.710 に答える