angular / angular/angularfire

Errors from methods returning a Promise are not bubbling up when Promise is converted to Observable

Đang mở
#3,478 2 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
TypeScript
Star
7.8k
Fork
2.2k
Merge trung bình
22 giờ 28 phút
Pull request đã merge (30 ngày)
6

Mô tả

In order to achieve consistency, i want to convert methods returning Promises to Observable.
However, errors are ignored when trying to catch the error either from the method or from the caller of the method.

See the code below.

```typescript
createList(newList: NewListDTO) {
const collectionRef = collection(this.db, `lists`);

const newListDoc = addDoc(collectionRef, {
name: newList.name,
uid: newList.uid,
created_at: serverTimestamp(),
});

// return defer(async () => {
// return await newListDoc;
// });

return scheduled(newListDoc, asyncScheduler).pipe(
// FIXME: error is not being caught from firstore addDoc
catchError((err) => {
return throwError(() => err);
}),
);
}
```

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu với ví dụ createList, so sánh cách tiếp cận defer(async ...) đang được chú thích với scheduled(newListDoc, asyncScheduler) và trình xử lý catchError của nó. Tái hiện đường dẫn addDoc bị lỗi và kiểm tra xem các lỗi từ Promise có đến được cả phương thức lẫn bên gọi nó hay không. Được coi là hoàn tất khi lỗi Firestore được báo cáo lan truyền qua Observable được trả về.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
firebase, typescript
Lĩnh vực
database
Loại issue
Lỗi
Độ khó
3/5
Thời gian dự kiến
1-2 ngày
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
35/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.