J'essaie d'obtenir l'état le plus récent d'un observable synchroniquement. Selon Ce document de migration pour ngrx / store 2.0 Je ne trouve aucune documentation actuelle qui le supporte. Cela reste-t-il toujours pour les versions actuelles du magasin (par exemple 7.4.0)? P> code d'échantillon: p> Vous pouvez toujours compter sur l'abonnement () fonctionnant de manière synchrone si vous devez obtenir la valeur de l'état (code>.
3 Réponses :
Un observable aura toujours l'état le plus récent (sauf construit autrement).
et synchrones signifie que vous n'utilisez pas de rappel. P>
avec cet étant dit, vous pouvez simplement utiliser P>
async myFunc() { lastValue = await myObs$.fromPromise(); }
Essayez ceci:
method(someId: string): string { let value: string; this.service.getSomeValue$(someId).pipe(take(1)).subscribe(s => value = s; return value;}); }
Si vous devez savoir si un code est synchronisé sans plonger au fond du code source, vous pouvez le tester. P>
Définir un code asynchrone (comme Si le résultat est comme ça, le code est synchrone. P> Settimeout code> ou
Promise code> (première exécution sur la macro file d'attente, seconde sur la file d'attente Micro)), puis le code que vous souhaitez tester, puis certains synchrones code. Le résultat devrait être: p>