dart - 我可以在未来的构建器上使用多种方法吗?

     @override
      Widget build(BuildContext context) {
        widget.groupid;
        widget.event_id;
        var futureBuilder = new FutureBuilder(
          future: _getAllTickets(),

          builder: (BuildContext context, AsyncSnapshot snapshot) {
            print(snapshot.connectionState);
            switch (snapshot.connectionState) {
              case ConnectionState.none:
              case ConnectionState.waiting:
                return new Text('...');
              default:
                if (snapshot.hasError)
                  return new Text('Error: ${snapshot.error}');
                else
                  return createListTickets(context, snapshot);
            }
          },
        );



    return new Scaffold(

      body: futureBuilder,

    );
  }

  Widget createListTickets(BuildContext context, AsyncSnapshot snapshot) {
    List values = snapshot.data;

     child: new Card(

                child:
                new Column(mainAxisSize: MainAxisSize.min, children: <Widget>[
                  new Text(
                      values[index]["ticket_type_id"].toString(), style:
                  const TextStyle(
                      fontFamily: 'Poppins',
                      fontWeight: FontWeight.w600,
                      fontSize: 25.0)),
}


  _getAllTickets() async {
    final response = await http.get(
        "https...}"
        , headers: {
      HttpHeaders.AUTHORIZATION: access_token
    });

    returnTickets = json.decode(response.body);
    return returnTickets;
  }


  _getTicketType() async {
    for (i = 0; i < (returnTickets?.length ?? 0); i++) {
      /*print("https....);*/
     final responseType = await http.get(
          "https...}"
          , headers: {
        HttpHeaders.AUTHORIZATION: access_token
      });

      Map<String, dynamic> hey = json.decode(responseType.body);


    }

大家好,我有一个问题。 当我发送多个 API 请求并动态构建一张卡片并返回我得到的响应时,我想知道我是否可以在未来包含更多的方法:_getAllTickets()、+(另一种方法),因为我想将 values[index]["ticket_type_id"] 替换为 values[index]["name"],该名称是我通过方法 _getTicketType() 获得的新索引响应。 提前谢谢!

最佳答案

您可以使用 Future.wait(Future[]) 返回一个 future 列表。

Future<String> foo;
Future<int> bar;
FutureBuilder(
  future: Future.wait([bar, foo]),
  builder: (context, AsyncSnapshot<List<dynamic>> snapshot) {
    snapshot.data[0]; //bar
    snapshot.data[1]; //foo
  },
);

https://stackoverflow.com/questions/50626949/

相关文章:

Flutter - 如何将图像定义转换为图标定义?

dart - 如何在弹出菜单中使用单选按钮?

dart - Dart 中的类型定义

dart - Flutter:创建时间线 UI

flutter - TabBarView 中的 GestureDetector - 嵌套滚动?

flutter - 如何在指针向下事件的位置绘制 CustomPaint 小部件?

ios - 如何在 iOS 中安装用 Flutter 编写的应用程序?

flutter - 如何在 Flutter Web 中保存到 Web 本地存储

java - flutter 中是否有任何类可以像处理程序一样工作?

dart - 如何为 Flutter 应用绘制折线图?