Errors from methods returning a Promise are not bubbling up when Promise is converted to Observable
- Langage dominant
- TypeScript
- Étoiles
- 7.8k
- Forks
- 2.2k
- Merge moyen
- 22 h 28 min
- PR mergées (30 j)
- 6
Description
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);
}),
);
}
```
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Commencez par l’exemple createList, en comparant l’approche defer(async ...) commentée avec scheduled(newListDoc, asyncScheduler) et son gestionnaire catchError. Reproduisez le chemin addDoc en échec et vérifiez si les erreurs issues de la Promise atteignent à la fois la méthode et son appelant. C’est terminé lorsque l’erreur Firestore signalée remonte via l’Observable renvoyé.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- firebase, typescript
- Domaine
- database
- Type d'issue
- Bug
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100