angular / angular/angularfire

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

Ouverte
#3,478 2 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.