Future <bool> 함수는 null 값을 반환합니다.

페데리코 다르 미니

게시하기 전에 이전 질문을 살펴 보았지만 (많은 이유 때문에) 내 필요에 맞는 것을 찾지 못했습니다.

Firestore에 문서가 있는지 여부를 확인하는 함수가 있는데 문서가 존재하면 함수는 false를 반환해야합니다. 그렇지 않으면 존재하지 않으면 true를 반환해야합니다.

문제는 함수의 반환이 항상 null이고 컴파일러가 함수에 return 문이 없다고 말했지만 이유를 이해할 수 없다는 것입니다.

이것은 코드이고 중요한 기능은 checkMissingId다른 하나가 문자열 id이 유효한 형식인지 여부를 확인하는 것입니다.

코드 :

bool checkStr(String id, String letter, String str) {
  if (id.length < 1) {
    print("Id is too short");
    return false;
  } else {
    if ('a'.codeUnitAt(0) > letter.codeUnitAt(0) ||
        'z'.codeUnitAt(0) < letter.codeUnitAt(0)) {
      print("User name begins with bad word!");
      return false;
    }
    print("ids/tabs/" + letter);
    return true;
  }
}

Future<bool> checkMissingId(String id, context) async {
  String str = id.toLowerCase();
  String letter = str[0];
  if (checkStr(id, letter, str) == false)
    return false; //checks some rules on strings
  else {
    try {
      await FirebaseFirestore.instance.collection("ids/tabs/" + letter).doc(str).get()
          .then((DocumentSnapshot documentSnapshot) { //Maybe here!(??)
        if (documentSnapshot.exists) {
          print("Document exists!");
          return false;
        } else {
          print('Document does not exist on the database');
          return true;
        }
      });
    } catch (e) {
      await showErrDialog(context, e.code);
      return false;
    }
  }
}
프리트 샤

이 시도:

Future<bool> checkMissingId(String id, context) async {
  String str = id.toLowerCase();
  String letter = str[0];
  if (checkStr(id, letter, str) == false)
    return false; //checks some rules on strings
  else {
    try {
      var data = await FirebaseFirestore.instance.collection("ids/tabs/" + letter).doc(str).get()
        if (data.exists) {
          print("Document exists!");
          return false;
        } else {
          print('Document does not exist on the database');
          return true;
        }
    } catch (e) {
      await showErrDialog(context, e.code);
      return false;
    }
  }
}

문제는 .then(...)함수에서 함수를 입력으로 취한다는 것입니다. 따라서 아무것도 반환 할 수 없습니다. 함수에 데이터를 반환하지 않기 때문입니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Java Future는 항상 null을 반환합니다.

분류에서Dev

Bool 대신 Future <Dynamic>을 반환합니다.

분류에서Dev

php bool 함수는 bool 대신 문자열을 반환합니다.

분류에서Dev

Postgresql 함수는 정수 또는 null을 반환합니다.

분류에서Dev

함수가 예상 값 대신 null을 반환합니다.

분류에서Dev

Redshift의 Python UDF 함수는 항상 NULL 값을 반환합니다.

분류에서Dev

Mockito가 Future 대신 null을 반환합니다.

분류에서Dev

STR_TO_DATE 함수는 mysql에서 null을 반환합니다.

분류에서Dev

Jquery Ajax 함수는 항상 null을 반환합니다.

분류에서Dev

Future는 문서에서 필드를 읽으려고 할 때 null을 반환합니다.

분류에서Dev

getRootInActiveWindow ()는 null을 반환합니다.

분류에서Dev

Ajax Post는 Null을 반환합니다.

분류에서Dev

SelectSingleNode ()는 null을 반환합니다.

분류에서Dev

getArgument (). getInt ()는 null을 반환합니다.

분류에서Dev

Kurento는 결과에 null 값을 반환합니다.

분류에서Dev

Python ctypes 함수는 C 함수가 NULL을 반환 할 때 ValueError를 반환합니다.

분류에서Dev

C ++ 11 future.wait_for ()는 항상 future_status :: timeout을 반환합니다.

분류에서Dev

bool이 예상되면 함수가 문자열을 반환합니다.

분류에서Dev

PHP 코드는 bool (false)을 반환합니다.

분류에서Dev

MongoDB findOne 함수는 id와 비교할 때 null을 반환합니다.

분류에서Dev

jsencrypt는 encrypt 함수에서 null 해독 문자열을 반환합니다.

분류에서Dev

Kohana ORM find_all pk () 함수는 PHP 5.6.21에서 NULL을 반환합니다.

분류에서Dev

AutoMapper는 목록을 반환 할 때 NULL을 반환합니다.

분류에서Dev

C-HashMap Values () 함수-NULL 값을 반환합니까?

분류에서Dev

processR 패키지의 modSummary 함수가 NULL을 반환합니다.

분류에서Dev

Flutter 빌드 함수가 null을 반환합니다.

분류에서Dev

findViewById () 함수가 null을 반환합니다.

분류에서Dev

MySQL-함수가 계속 null을 반환합니다.

분류에서Dev

Singleton에서 NULL을 반환하는 BOOL 변수

Related 관련 기사

  1. 1

    Java Future는 항상 null을 반환합니다.

  2. 2

    Bool 대신 Future <Dynamic>을 반환합니다.

  3. 3

    php bool 함수는 bool 대신 문자열을 반환합니다.

  4. 4

    Postgresql 함수는 정수 또는 null을 반환합니다.

  5. 5

    함수가 예상 값 대신 null을 반환합니다.

  6. 6

    Redshift의 Python UDF 함수는 항상 NULL 값을 반환합니다.

  7. 7

    Mockito가 Future 대신 null을 반환합니다.

  8. 8

    STR_TO_DATE 함수는 mysql에서 null을 반환합니다.

  9. 9

    Jquery Ajax 함수는 항상 null을 반환합니다.

  10. 10

    Future는 문서에서 필드를 읽으려고 할 때 null을 반환합니다.

  11. 11

    getRootInActiveWindow ()는 null을 반환합니다.

  12. 12

    Ajax Post는 Null을 반환합니다.

  13. 13

    SelectSingleNode ()는 null을 반환합니다.

  14. 14

    getArgument (). getInt ()는 null을 반환합니다.

  15. 15

    Kurento는 결과에 null 값을 반환합니다.

  16. 16

    Python ctypes 함수는 C 함수가 NULL을 반환 할 때 ValueError를 반환합니다.

  17. 17

    C ++ 11 future.wait_for ()는 항상 future_status :: timeout을 반환합니다.

  18. 18

    bool이 예상되면 함수가 문자열을 반환합니다.

  19. 19

    PHP 코드는 bool (false)을 반환합니다.

  20. 20

    MongoDB findOne 함수는 id와 비교할 때 null을 반환합니다.

  21. 21

    jsencrypt는 encrypt 함수에서 null 해독 문자열을 반환합니다.

  22. 22

    Kohana ORM find_all pk () 함수는 PHP 5.6.21에서 NULL을 반환합니다.

  23. 23

    AutoMapper는 목록을 반환 할 때 NULL을 반환합니다.

  24. 24

    C-HashMap Values () 함수-NULL 값을 반환합니까?

  25. 25

    processR 패키지의 modSummary 함수가 NULL을 반환합니다.

  26. 26

    Flutter 빌드 함수가 null을 반환합니다.

  27. 27

    findViewById () 함수가 null을 반환합니다.

  28. 28

    MySQL-함수가 계속 null을 반환합니다.

  29. 29

    Singleton에서 NULL을 반환하는 BOOL 변수

뜨겁다태그

보관