【发布时间】:2020-06-06 16:51:56
【问题描述】:
我有一个用于从 Firebase 存储中删除文件的功能,如下所示:
void _deleteFileFromStorage(String fileName) async {
await FirebaseStorage.instance.ref().child(fileName).delete();
}
删除文件成功,但是当要删除的文件在Firebase Storage中不存在时,会报错,会堆栈在delete函数中(_deleteFileFromStorage),不会运行(通过)到函数/到下一个进程,如下所示:
onPressed: () async {
await _progressDialog.update(message: 'Deleted Resume...');
await _progressDialog.show();
await _deleteFileFromStorage(widget.attachmentsEntity.name); // If the file doesn't exist, the process stuck in here
await _deleteDataFromFirebase(); // This function and below will not run because it causes an error in the delete function (the file does not exist)
if (widget.resume.length == 1) {
setState(() {
choices.add(Choice(title: RESUME, index: 0));
});
}
await _progressDialog.hide();
Navigation.back(context);
},
所以问题是:
- 在执行
_deleteFileFromStorage删除文件之前可以先检查文件吗? - 或者如果Firebase Storage中不存在该文件,我只是传递了错误并继续运行下一个进程?
【问题讨论】: