开发者问题收集

Flutter 尝试移除代码,或者修复之前的代码,以便可以访问

2021-04-02
2689

我有一段代码想要尝试,但代码的开头变成了死代码。

Future createGroupChat(
      String groupName, String userName, memberList, memberIDList) async {
    DocumentReference groupDocRef = await groupCollection.add({
      'groupName': groupName,
      'admin': [userName],
      'members': memberList,
      'groupID': '',
    });

    await groupDocRef.update({
      'groupID': groupDocRef.id,
      'members': FieldValue.arrayUnion([userName])
    });

    DocumentReference userDocRef =
        FirebaseFirestore.instance.collection('users').doc(userID);
    return await userDocRef.update({
      'groups': FieldValue.arrayUnion([groupDocRef.id + '_' + groupName])
    });

    DocumentReference memberDocRef =
        FirebaseFirestore.instance.collection('users').doc(memberIDList);
    return await memberDocRef.update({
      'groups': FieldValue.arrayUnion([groupDocRef.id + '_' + groupName])
    });
  }

死代码从 DocumentReference memberDocRef = 开始。如果我将 DocumentReference memberDocRef 移到 DocumentReference userDocRef 之上,则 DocumentReference userDocRef 将成为死代码。

1个回答

死代码意味着无法到达,当您返回此处 return await userDocRef.update({ 时,下面的代码将永远不会执行,只需删除第一个 return :

DocumentReference userDocRef =
        FirebaseFirestore.instance.collection('users').doc(userID);
        await userDocRef.update({
      'groups': FieldValue.arrayUnion([groupDocRef.id + '_' + groupName])
    });

    DocumentReference memberDocRef =
        FirebaseFirestore.instance.collection('users').doc(memberIDList);
    return await memberDocRef.update({
      'groups': FieldValue.arrayUnion([groupDocRef.id + '_' + groupName])
    });
Peter Haddad
2021-04-02