Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

Promise.resolve()

La méthode Promise.resolve(valeur) renvoie un objet Promise qui est résolu avec la valeur donnée. Si cette valeur possède une méthode then, la promesse renvoyée « suivra » cette méthode et prendra son état ; sinon, la promesse renvoyée sera tenue avec la valeur.

Syntaxe

Promise.resolve(valeur);
Promise.resolve(promesse);
Promise.resolve(suivant);

Paramètres

valeur
L'argument qu'on souhaite résoudre avec cette promesse (Promise). Cet argument peut être un objet Promise ou un objet avec une méthode then à résoudre à la suite.

Valeur de retour

Une promesse (Promise qui est résolue avec la valeur indiquée en argument.

Description

La fonction statique Promise.resolve renvoie un objet Promise qui est résolu.

Exemples

Utilisation de la méthode statique Promise.resolve

Promise.resolve("Succès").then(function(valeur) {
  console.log(valeur); // "Succès"
}, function(valeur) {
  // n'est pas appelée
});

Résoudre un tableau

var p = Promise.resolve([1,2,3]);
p.then(function(v) {
  console.log(v[0]); // 1
});

Résoudre une autre Promise

var original = Promise.resolve(true);
var cast = Promise.resolve(original);
cast.then(function(v) {
  console.log(v); // true
});

Résoudre des objets avec then et renvoyer des erreurs

// Résoudre un objet avec then
var p1 = Promise.resolve({ 
  then: function(onFulfill, onReject) { onFulfill("tenue !"); }
});
console.log(p1 instanceof Promise) // true, l'objet est transformée en une Promise

p1.then(function(v) {
    console.log(v); // "tenue !"
  }, function(e) {
    // n'est pas appelée
});

// L'objet avec then renvoie une erreur avant le callback
// La promesse n'est pas tenue
var thenable = { then: function(resolve) {
  throw new TypeError("Renvoi d'erreur");
  resolve("Résolution ");
}};

var p2 = Promise.resolve(thenable);
p2.then(function(v) {
  // n'est pas appelée
}, function(e) {
  console.log(e); // TypeError : Renvoi d'erreur
});

// L'objet avec then renvoie une erreur après le callback
// La promesse est tenue
var thenable = { then: function(resolve) {
  resolve("Résolue");
  throw new TypeError("Erreur");
}};

var p3 = Promise.resolve(thenable);
p3.then(function(v) {
  console.log(v); // "Résolue"
}, function(e) {
  // n'est pas appelée
});

Spécifications

Spécification État Commentaires
ECMAScript 2015 (6th Edition, ECMA-262)
La définition de 'Promise.reject' dans cette spécification.
Standard Définition initiale au sein d'un standard ECMA.
ECMAScript 2017 Draft (ECMA-262)
La définition de 'Promise.resolve' dans cette spécification.
Projet  

Compatibilité des navigateurs

Fonctionnalité Chrome Edge Firefox Internet Explorer Opera Safari Servo
Support simple32.0(Oui)29.0Aucun support197.1Aucun support
Fonctionnalité Android Chrome for Android Edge Mobile Firefox for Android IE Mobile Opera Mobile Safari Mobile
Support simple4.4.432.0(Oui)29Aucun support(Oui)8.0

Voir aussi

Étiquettes et contributeurs liés au document

 Contributeurs à cette page : SphinxKnight, Goofy
 Dernière mise à jour par : SphinxKnight,