Bonjour, je dois faire plusieurs promesses, mais je suis resté coincé, je reçois fondamentalement des données d'un service de socket qui communiquent via Modbus / TCP. J'ai pu communiquer via un plugin Cordoua, mais j'ai un problème de saisir comment les promesses fonctionnent, ici certains CODE:
if (this.machineType == 2) { callSoftwareVersionB() // another promise } else { callSoftwareVersionC() // another promise }
3 Réponses :
Depuis que vous utilisez angular, je vous suggère d'utiliser RXJS Observables au lieu de promesses. Les observables ne sont pas le concept le plus facile à saisir, mais ils sont assez puissants. P>
Si vous souhaitez continuer avec des promesses, le Async / attendre Syntaxe pourrait être utile (au lieu de se perdre dans .Chen (). Alors () déclarations). p>
Pour répondre à la question "Appel de promesse multiple"; p>
Faites-moi savoir si je peux aider avec n'importe quoi. Bonne chance. :) p>
Tout d'abord, merci pour la réponse. Je pensais à Observables avec Rxjs et je voudrais les essayer parce que je vais refroidir cette partie du code. Comment utiliserais PROMISEALL dans ce cas? Ou si vous pouvez me montrer comment utiliser des observables dans ce cas serait génial. Merci
@ SEBBA23 La réponse de CLEMENTRSLN semble inclusive, de sorte que mon aimable conseil serait de commencer par apprendre assez bien les bases et avancer avec des observables. J'apprendrais certainement plus sur les observables, comme utilise des utilisations angulaires de RXJ (et des observables) en interne. Allez pas à pas, à votre rythme, et après avoir une compréhension claire des promesses, vous pouvez choisir votre chemin. :) Bonne chance!
Je ne comprends pas toute votre question, mais votre problème semble apparenté uniquement aux promesses.
Si vous voulez chaîner vos promesses, vous devez retourner la résolution * (avec vos données ici *) comme ceci:
refreshData() { const promises = []; promises.push(this.getRegistrationNumber()); promises.push(this.swVersionRequest()); promises.push(this.getMachineType()); return Promise.all(promises).then(() => { //type your code here }) }
Merci je vais essayer cela aussi. Soyez patient, j'apprends toujours :) Merci
Je vous recommande fortement des exemples assez simples comment les promesses fonctionnent, juste pour comprendre comment les promesses fonctionnent. P>
Comme vous pouvez le constater que les promesses sont toujours la meilleure option de gérer la plupart des problèmes de synchronisation (c'est essentiellement le problème que vous avez là-bas :)), plus tard, vous pouvez commencer à voir des libs comme Conseils: strong> est toujours cool faire un examen des concepts de base, pour comprendre les implémentations de haut niveau de certaines libs. Et parce que c'est cool apprendre ou souvenez-vous des choses que nous apprenons il y a longtemps! N'hésitez pas à demander quoi que ce soit! :) p>
blockQuote>