例如flutter中有4個相互依賴的Future任務,在這些任務完成后Navigator.pushReplacement呼叫change函式。依賴意味著一個 Future 的回傳值是另一個 Future 任務的引數。
Future<int> f1() async{}
Future<String> f2(int i) async{}
Future<bool> f3(String s) async{}
Future<int> f4(bool b) async{}
f2的引數是f1的回傳值,f3的引數是f2的回傳值,f4的引數是f3的回傳值。這意味著 f2 在 f1 完成之前不應該執行, f3 在 f2 完成之前不應該執行, f4 在 f3 完成之前不應該執行。在這些都完成后,Navigator.pushReplacement應該呼叫更改頁面。我如何實作這一目標?
uj5u.com熱心網友回復:
Future<int> f1() async{
int i=1;
return i;
}
Future<String> f2(int i) async{
String string='string';
return string;
}
Future<bool> f3(String s) async{
bool val=true;
return val;
}
Future<int> f4(bool b) async{
int i=1;
return i;
}
///create a function to execute the above 4 futures in order
function()async{
f1().then((f1_return) {
f2(f1_return).then((f2_return){
f3(f2_return).then((f3_return) {
f4(f3_return).then((f4_value) {
///add your Navigator.pushReplacement method here
});
});
});
});
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/494745.html
