Comment extraire des données d'une Promesse

J'ai une promesse qui renvoie des données et je veux enregistrer dans des variables. Est-ce impossible en JavaScript en raison de la nature asynchrone et dois-je l'utiliser onResolve comme un rappel?

Je peux en quelque sorte l'utiliser (par exemple, envelopper avec async/await):

const { foo, bar } = Promise.then(result => result.data, errorHandler);
//rest of script

au lieu de cela?

Promise.then(result => {
   const { foo, bar } = result.data;
   //rest of script
 }, errorHandler);

Remarque: Bluebird bibliothèque est utilisée à la place de l'implémentation native, et je ne peux pas changer la Promesse de asnyc/attendre ou des Générateurs.

C'est possible avec javascript. Vous pouvez affecter les données que vous recevez sur la promesse de succès à la variable à laquelle vous avez déclaré plus tôt. Et votre variable ont que la valeur que vous avez reçu de promesse. Vous pouvez vous référer: developer.mozilla.org/en/docs/Web/JavaScript/Reference/...
async/ await sont à venir!
C'est possible, mais peut causer des bugs que JavaScript ne pas attendre la Promesse à résoudre. Aussi besoin de changer const à let, ce qui peut avoir des effets secondaires.
Juste pour info, errorHandler n'a pas vraiment gérer une erreur ici, c'est juste exécute immédiatement
Cette syntaxe fonctionne bien avec la bluebird.js la mise en œuvre. Voir bluebird référence de l'API ici C'est aussi correct d'après Promesses/A+ norme (voir le paragraphe 2.2)

OriginalL'auteur Tobias Mühl | 2016-04-28