Flutter-web:未来不会更改变量

发布于 2025-02-09 12:44:17 字数 2191 浏览 3 评论 0原文

我已经在flutter页面中了这个代码。

该代码应该向用户显示他的订单已发送到数据库。

我在功能上使用未来。

有人知道为什么我的_textinfo字符串变量不会将未来视为新价值吗?

Container(
                        padding: const EdgeInsets.all(Pages.edgeInsetsAll),
                        child: ElevatedButton(
                            onPressed: () {
                              setState(() {
                                for (int i = 0; i < myb.length; i++) {
                                  if (myb[i].count > 1) {
                                    for (int j = 0; j < myb[i].count; j++) {
                                      postOrder(
                                          widget.basketId,
                                          Session.sessionQRCode,
                                          "Pas Membre",
                                          "Especes",
                                          Session.sessionEstaName,
                                          myb[i].price,
                                          myb[i].product,
                                          myb[i].add).then((value) {
                                            _textInfo = 'ORDER : $value';
                                      });
                                    }
                                  } else {
                                    postOrder(
                                        widget.basketId,
                                        Session.sessionQRCode,
                                        "Pas Membre",
                                        "Especes",
                                        Session.sessionEstaName,
                                        myb[i].price,
                                        myb[i].product,
                                        myb[i].add).then((value){
                                          _textInfo= 'ORDER : $value';
                                    });
                                  }
                                }
                                myb.clear();
                              });
                            },
                            child: Text(_textInfo)),
                      ),

I've this code in a Flutter page.

This code is supposed to show to the user that his orders had been send to the database.

I use a future with the function .then and I should get the response status code 200 which is printed in the debug console of my app.

Does someone know why my _textInfo String variable doesn't take the future as new value ?

Container(
                        padding: const EdgeInsets.all(Pages.edgeInsetsAll),
                        child: ElevatedButton(
                            onPressed: () {
                              setState(() {
                                for (int i = 0; i < myb.length; i++) {
                                  if (myb[i].count > 1) {
                                    for (int j = 0; j < myb[i].count; j++) {
                                      postOrder(
                                          widget.basketId,
                                          Session.sessionQRCode,
                                          "Pas Membre",
                                          "Especes",
                                          Session.sessionEstaName,
                                          myb[i].price,
                                          myb[i].product,
                                          myb[i].add).then((value) {
                                            _textInfo = 'ORDER : $value';
                                      });
                                    }
                                  } else {
                                    postOrder(
                                        widget.basketId,
                                        Session.sessionQRCode,
                                        "Pas Membre",
                                        "Especes",
                                        Session.sessionEstaName,
                                        myb[i].price,
                                        myb[i].product,
                                        myb[i].add).then((value){
                                          _textInfo= 'ORDER : $value';
                                    });
                                  }
                                }
                                myb.clear();
                              });
                            },
                            child: Text(_textInfo)),
                      ),

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文