_getTimeFromUser({required bool isStartTime}) async {
var pickedTime = await _showTimePicker();
String _formatedTime = pickedTime.format(context);
if (pickedTime == null) {
print("Time canceled");
} else if (isStartTime == true) {
startTime = _formatedTime;
} else if (isStartTime == false) {
endTime = _formatedTime;
}
}
TimePicker를 사용하기 위해 위와 같은 코드를 작성했다. 그런데 async-await를 붙인 순간 "Do not use BuildContexts across async gaps" 에러 메시지가 표시됐다.
StackOverFlow를 찾아보니 "if (!mounted) return;"을 context를 사용한 부분 앞에 붙여주어야 한다고 나왔다. 왜냐하면 위젯이 마운트되지 않으면 async뒤에 context를 썼을 때 그 안에 아무런 값도 들어있지 않을 수 있어서다.