Знак вопроса - один из операторов, поддерживающих нулевое значение, в Dart. В этом примере написано: вызовите метод dispose()
only , если bloc
не равно нулю. Без знака вопроса, если bloc
было бы нулевым, когда он попытался бы вызвать dispose()
, то было бы выброшено NoSuchMethodError
.
На сайте Dart есть полезный раздел, посвященный операторам с нулевым значением:
https://dart.dev/codelabs/dart-cheatsheet