我想使用 FutureBuilder,但在等待 2 個異步函式結束后進行構建。
在 Flutter 檔案中,它說Widget that builds itself based on the latest snapshot of interaction with a Future.所以它在一個函式之后構建,而不是等待另一個函式。
Future<int> futureInit() async {
await functionA();
await functionB();
return 0;
}
我的代碼是這樣的,所以未來的構建器只在函式 A 之后構建。
如何讓它等待這兩個功能結束然后開始構建?
uj5u.com熱心網友回復:
首先你必須知道如何處理未來的功能。有2種方法。我的
文章在這里解釋了更多關于它的資訊:awaitawait vs then in Flutterthen
如果您想在 1 中處理 2 個未來功能FutureBuilder,您可以使用Future.wait. 這里有一個相關的老問題:https ://stackoverflow.com/a/50627153/12838877
Future<A> functionA();
Future<B> functionB();
FutureBuilder(
future: Future.wait([functionA, functionB]),
builder: (context, AsyncSnapshot<List<dynamic>> snapshot) {
snapshot.data[0]; //functionA
snapshot.data[1]; //functionB
},
);
uj5u.com熱心網友回復:
我認為下面的代碼會起作用。您可以使用 .then() 函式。它會一個接一個地執行。請檢查并恢復
Future<int> futureInit() async {
await functionA().then((func) async {
await functionB();
});
return 0;
}
uj5u.com熱心網友回復:
您可以FutureBuilder使用以下方法延遲您的時間:
Future<int> futureInit() async {
await functionA();
await functionB();
// Make your delay here.
await Future.delayed(const Duration(milliseconds: 500));
// And trigger future builder.
return 0;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/523343.html
標籤:扑未来颤振未来建造者
