Firebase, Firestore 데이터 삭제 (Future.wait)

Angela Jeong·2024년 2월 7일
0

Flutter Troubleshooting

목록 보기
1/19
post-thumbnail

Firebase에 있는 이미지를 삭제한다고 Firestore에 저장된 데이터까지 함께 삭제되지는 않는다. 따라서 Firebase 삭제, Firestore 삭제 메서드를 별도로 만들어줘야 한다.

그래서 아래처럼 Firebase삭제, Firestore 삭제 메서드를 넣은 함수를 만들었는데 Storage는 삭제가 되지 않았다!!

import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_storage/firebase_storage.dart';

  Future<void> deleteFoodAndStorage() async{
      await FirebaseFirestore.instance
          .collection('foodDetails')
          .doc(지정된 값)
          .delete(),
      await FirebaseStorage.instance
          .ref("images.jpg")
          .delete()}


해결방법)
여러 개의 Future를 동시 실행하기 위해서는 Future.wait을 사용해야 한다.

Future<void> deleteFoodAndStorage() async {
    await Future.wait([
      FirebaseFirestore.instance
          .collection('foodDetails')
          .doc(지정된 값)
          .delete(),
      FirebaseStorage.instance
          .ref("images.jpg")
          .delete(),
    ]);
  }
  • 리스트 안에 2개 함수가 묶여있다.
  • 코드를 병렬(동시 실행) 로 실행하기 떄문에 각 작업은 독립적으로 실행된다.

0개의 댓글