当前位置: 首页 > 知识库问答 >
问题:

如何修复Flutter中的“回复已提交错误”?

孙子民
2023-03-14

我使用的是flutter v1.7.8+hotfix.3。我正在创建新用户,并在firestore数据库上添加他们的详细信息。当我第一次添加用户时,它工作得很好。当我试图添加另一个新用户时,我得到以下错误,应用程序崩溃:

E/CloudFireStoReplugin(11070):等待任务E/CloudFireStoReplugin(11070):java.util.concurrent.TimeoutException:等待任务E/CloudFireStoReplugin(11070):at

我使用以下代码添加一个新用户:

 _sendToServer() {

    if (_formKey.currentState.validate()) {
      //No error in validator
      _formKey.currentState.save();     
        Firestore.instance.runTransaction((Transaction transaction) async {
          DocumentReference reference =
              Firestore.instance.collection('Users').document(_name);
          await transaction.get(reference);

          await reference.setData({
            "Name": "$_name",
            "Email": "$_email",
            "Password": "$_password",
            "status": "new",
            "clientName": widget.title
          });
        });    
      registerUser();
    }
  }

  registerUser() async {
    String userId =
        await widget.auth.createUserWithEmailAndPassword(_email, _password);
    if (_formKey.currentState.validate()) {
      //No error in validator
      _formKey.currentState.save();
        Firestore.instance.runTransaction((Transaction transaction) async {
          DocumentReference reference =
              Firestore.instance.collection('UserRoles').document(_name);
          await transaction.get(reference);

          await reference
              .setData({"userid": "$userId", "role": "user", "status": "new"});
        });
        Navigator.pop(context);
        Navigator.push(
            context,
            MaterialPageRoute(
                builder: (context) => AdminPage(
                      auth: widget.auth,
                      onSignedOut: widget.onSignedOut,
                      title: widget.title,
                    )));
    }
  }

共有1个答案

樊胜
2023-03-14

通过检查此bug,在当前版本的cloud_firestore(在撰写本文时为2.5.3)中,问题应该已经得到修复。这个问题以前可以通过订阅DocumentReference的快照来重现。

 类似资料:
  • 我正在使用Ajax处理Laravel中的表单提交,但它挂起了,检查console.log时我得到内部服务器错误500 我使用的是Laravel5.8,csrf令牌包含在meta名称中,也包含在ajax函数中,使用console.log,包括_token在内的所有值都出现在控制台中 这是表单控制器 这是我的刀片档案 我的路线 我需要表格提交到数据库。

  • 错误:无法找到或加载主类M\AppData\local\android\sdk\cmdline-tools\lates\bin\...由:java.lang.ClassNotFoundException:M\AppData\local\Android\sdk\cmdline-tools\lates\bin\ 如何解决这个问题?

  • 问题内容: 运行脚本时,出现如下错误: 警告:不能更改头信息-已经(发送了头输出在/some/file.php:12开始)在/some/file.php上线23 错误消息中提到的行包含和调用。 这可能是什么原因?以及如何解决? 问题答案: 发送头之前无输出! 在进行任何输出之前,必须调用发送/修改HTTP标头的函数。 否则,调用将失败: 警告:无法修改标头信息-标头已发送(输出从script:li

  • 每当我尝试从终端运行任何应用程序或flutter命令时,我都会遇到问题,显示:

  • 问题内容: 实际上我不知道问题出在哪里。我认为这必须在创建TableLayout时进行。我不知道如何解决错误并使该应用程序正常工作。该程序显示错误“ java.lang.ArithmeticException:被零除”错误该程序具有EditText(edText),要求用户输入。它的类型是NUMBER。(这里r是edText的值)在EditText下方有一个Button(bt),它显示edText

  • 我正在做一个laravel instragram克隆网站,但突然经过一些发展当我运行php工匠服务这个错误发生。 PHP警告:require(I:\LARAVEL\LARAVEL instagram clone\vendor\composer/。/ralouphie/getallheaders/src/getallheaders.PHP):无法打开流:第66行的I:\LARAVEL\LARAVEL