then은 Future클래스에 있는 함수로 Future의 결과가 완료되면 호출되는 함수이다. await과는 다르게 동기방식으로 코드의 진행을 막지 않는다.
Future<bool> onSave() async {
if (nameController.text.isEmpty || quantityController.text.isEmpty) {
return false;
}
await insertFood();
return true;
}
GestureDetector(
onTap: () {
onSave().then((value) {
if (value) {
Navigator.pop(context, 'success');
}
});
},
async 와 Buildcontext는 같이 사용할 수 없으므로 then 을 사용하여 처리한다.