[ Web Proxy ]
URL:
Viewing: https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Global_Objects/Promise/resolve [Back]  [Original]

Promise.resolve() - JavaScript | MDN

Esta pgina ha sido traducida del ingls por la comunidad. Aprende ms y nete a la comunidad de MDN Web Docs.

View in English Always switch to English

Promise.resolve()

Baseline
Ampliamente disponible

Esta caracterstica est consolidada y funciona en muchos dispositivos y versiones de navegador. Est disponible en todos los navegadores desde julio de 2015.

El mtodo Promise.resolve(value) retorna un objeto Promise que es resuelto con el valor dado. Si el valor es una promise, esa promise es devuelta; si el valor es un thenable (si tiene un mtodo "then"), el valor devuelto le seguir a ese thenable, adoptando su estado; de otro modo la promise devuelta estar completada con el valor.

En este artculo

Prubalo

const promise1 = Promise.resolve(123);

promise1.then((value) => {
  console.log(value);
  // Expected output: 123
});

Sintxis

js
Promise.resolve(value);
Promise.resolve(promise);
Promise.resolve(thenable);

Parmetros

value

Argumento por resolver por esta Promise. Tambin puede ser una Promise o un thenable por resolver.

Valor retornado

Una Promise que es resuelta con el valor dado, o con la promise pasada como valor, si el valor era un objeto promise.

Descripcin

La funcin esttica Promise.resolve retorna una Promise que es resuelta.

Ejemplos

Utilizando el mtodo esttico Promise.resolve

js
Promise.resolve("xito").then(
  function (value) {
    console.log(value); // "xito"
  },
  function (value) {
    // no es llamada
  },
);

Resolviendo un arreglo

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

Resolviendo otra Promise

js
var original = Promise.resolve(33);
var cast = Promise.resolve(original);
cast.then(function (value) {
  console.log("valor: " + value);
});
console.log("original === cast ? " + (original === cast));

// registros, en orden:
// original === cast ? true
// valor: 33

El orden invertido de los registros se debe al hecho de que los handler then sean llamados asncronamente. Vea cmo funciona then aqu.

Resolviendo thenables y arrojando Errores

js
// Resolviendo un objeto thenable
var p1 = Promise.resolve({
  then: function (onFulfill, onReject) {
    onFulfill("Completada!");
  },
});
console.log(p1 instanceof Promise); // true, objeto convertido en una Promise
j;
p1.then(
  function (v) {
    console.log(v); // "Completada!"
  },
  function (e) {
    // no es llamada
  },
);

// Thenable arroja antes del callback
// Rechaza la Promise
var thenable = {
  then: function (resolve) {
    throw new TypeError("Arrojando");
    resolve("Resolviendo");
  },
};

var p2 = Promise.resolve(thenable);
p2.then(
  function (v) {
    // no es llamada
  },
  function (e) {
    console.log(e); // TypeError: Arrojando
  },
);

// Thenable arroja despus del callback
// Resuelve la Promise
var thenable = {
  then: function (resolve) {
    resolve("Resolviendo");
    throw new TypeError("Arrojando");
  },
};

var p3 = Promise.resolve(thenable);
p3.then(
  function (v) {
    console.log(v); // "Resolviendo"
  },
  function (e) {
    // no es llamada
  },
);

Especificaciones

Especificacin
ECMAScript 2027 LanguageSpecification
# sec-promise.resolve

Compatibilidad con navegadores

Vase tambin


Web Proxy Viewer  |  New URL  |  Original Page