gpt4 book ai didi

dart - 等待直到另一个异步函数完成

转载 作者:IT王子 更新时间:2023-10-29 06:43:56 26 4
gpt4 key购买 nike

我是 Flutter 的新手。我正在调用一个 async 函数从服务器获取数据。在我的代码中 Navigator.push() 必须在异步 onEdit() 功能完成。但对我来说,Navigator.push()onEdit() 完成之前执行。

代码:

    void  onEdit()async {
value= await getJson();
print(value);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Color.fromRGBO(33, 64, 95, 1.0),
leading: Icon(Icons.chevron_left),
actions: <Widget>[
FlatButton(
onPressed: (){
onEdit();
Navigator.push(context, MaterialPageRoute(builder: (context) => new Case(value)) );
},
child: Text(
"Edit",
style: TextStyle(color: Colors.white),
))
],
),

最佳答案

只需使用await 关键字调用onEdit 函数。

Future<void> onEdit() async {
value = await getJson();
print(value);
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Color.fromRGBO(33, 64, 95, 1.0),
leading: Icon(Icons.chevron_left),
actions: <Widget>[
FlatButton(
onPressed: () async {
await onEdit();
Navigator.push(context, MaterialPageRoute(builder: (context) => new Case(value)) );
},
child: Text(
"Edit",
style: TextStyle(color: Colors.white),
)
)
],
),
);
}

关于dart - 等待直到另一个异步函数完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52691105/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com