Пожарная служба Flutter - NoSuchMethodError: Метод '[]' был вызван с нулевым значением - PullRequest
0 голосов
/ 23 февраля 2020

Хорошо. Я использую Флаттер чуть больше года. Я использовал этот код почти во всех приложениях, и он работает. По некоторым причинам, это не работает в этом новом приложении, которое я создаю.

String testString(DocumentSnapshot doc, String val) {
  try {
    if (doc == null) {
      return "error! DB not found!";
    }
    if (doc[val] == null) {
      return "'" + val + "' doesn't exist in DB";
    }
    return doc[val];
  } catch (e) {
    return "Error: something went wrong";
  }
}

Я также пробовал это:

String testUndString(DocumentSnapshot doc, String val) {
  try {
    return doc != null ? (doc[val] != null ?  doc[val] : "undefined") :  "undefined";
  } catch (e) {
    return "Error: something went wrong";
  }
}

и это:

String testUndString(DocumentSnapshot doc, String val) {
  try {
    return doc.data != null ? (doc[val] != null ?  doc[val] : "undefined") :  "undefined";
  } catch (e) {
    return "Error: something went wrong";
  }
}

После некоторого поиска похоже, что я сделал это правильно, но все равно возвращает ошибку:

NoSuchMethodError (NoSuchMethodError: The method '[]' was called on null.)

1 Ответ

0 голосов
/ 23 февраля 2020

Попробуйте этот код:

if (doc is !DocumentSnapshot) {
    return "error! DB not found!";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...