aboutsummaryrefslogtreecommitdiff
path: root/files/es/web/javascript/referencia/objetos_globales/promise/catch/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/es/web/javascript/referencia/objetos_globales/promise/catch/index.html')
-rw-r--r--files/es/web/javascript/referencia/objetos_globales/promise/catch/index.html183
1 files changed, 0 insertions, 183 deletions
diff --git a/files/es/web/javascript/referencia/objetos_globales/promise/catch/index.html b/files/es/web/javascript/referencia/objetos_globales/promise/catch/index.html
deleted file mode 100644
index a99a071979..0000000000
--- a/files/es/web/javascript/referencia/objetos_globales/promise/catch/index.html
+++ /dev/null
@@ -1,183 +0,0 @@
----
-title: Promise.prototype.catch()
-slug: Web/JavaScript/Referencia/Objetos_globales/Promise/catch
-translation_of: Web/JavaScript/Reference/Global_Objects/Promise/catch
----
-<div>{{JSRef}}</div>
-
-<p>El método <strong>catch()</strong> retorna una <code>Promise</code> y solo se ejecuta en los casos en los que la promesa se marca como <code>Reject</code>. Se comporta igual que al llamar {{jsxref("Promise.then", "Promise.prototype.then(undefined, onRejected)")}} (de hecho, al llamar <code>obj.catch(onRejected)</code> internamente llama a <code>obj.then(undefined, onRejected)</code>).</p>
-
-<h2 id="Síntaxis">Síntaxis</h2>
-
-<pre class="syntaxbox"><var>p.catch(onRejected)</var>;
-
-p.catch(function(reason) {
- // rejection
-});
-</pre>
-
-<h3 id="Parámetros">Parámetros</h3>
-
-<dl>
- <dt>onRejected</dt>
- <dd>Una {{jsxref("Function")}} llamada cuando la <code>Promise</code> es rechazada. Esta función tiene un argumento:
- <dl>
- <dt><code>reason</code></dt>
- <dd>La razón del rechazo.</dd>
- </dl>
- La promesa devuelta por <code>catch()</code> es rechazada si <code>onRejected</code> lanza un error o retorna una <code>Promise</code> que a su vez se rechaza, de cualquier otra manera la <code>Promise</code> es resuelta.</dd>
-</dl>
-
-<h3 id="Valor_de_Retorno_(Return)">Valor de Retorno (Return)</h3>
-
-<p>Internamente llama a <code>Promise.prototype.then</code> en el objeto sobre el que se llama, pasándole el parámetro <code>undefined</code> y el manejador <code>onRejected</code> recibido; luego devuelve un valor de esa llamada (que es una {{jsxref("Promise")}}).</p>
-
-<p><strong>Demostración de la llamada interna:</strong></p>
-
-<pre class="brush: js">// overriding original Promise.prototype.then/catch just to add some logs
-(function(Promise){
-    var originalThen = Promise.prototype.then;
-    var originalCatch = Promise.prototype.catch;
-
-    Promise.prototype.then = function(){
-        console.log('&gt; &gt; &gt; &gt; &gt; &gt; called .then on %o with arguments: %o', this, arguments);
-        return originalThen.apply(this, arguments);
-    };
-    Promise.prototype.catch = function(){
-        console.log('&gt; &gt; &gt; &gt; &gt; &gt; called .catch on %o with arguments: %o', this, arguments);
-        return originalCatch.apply(this, arguments);
-    };
-
-})(this.Promise);
-
-
-
-// calling catch on an already resolved promise
-Promise.resolve().catch(function XXX(){});
-
-// logs:
-// &gt; &gt; &gt; &gt; &gt; &gt; called .catch on Promise{} with arguments: Arguments{1} [0: function XXX()]
-// &gt; &gt; &gt; &gt; &gt; &gt; called .then on Promise{} with arguments: Arguments{2} [0: undefined, 1: function XXX()]
-</pre>
-
-<h2 id="Descripción">Descripción</h2>
-
-<p>El método <code>catch</code> puede ser muy útil para el manejo de errores en tu código con promesas.</p>
-
-<h2 id="Ejemplos">Ejemplos</h2>
-
-<h3 id="Usando_y_encadenando_el_método_catch">Usando y encadenando el método <code>catch</code></h3>
-
-<pre class="brush: js">var p1 = new Promise(function(resolve, reject) {
-  resolve('Success');
-});
-
-p1.then(function(value) {
-  console.log(value); // "Success!"
-  throw 'oh, no!';
-}).catch(function(e) {
-  console.log(e); // "oh, no!"
-}).then(function(){
-  console.log('after a catch the chain is restored');
-}, function () {
-  console.log('Not fired due to the catch');
-});
-
-// The following behaves the same as above
-p1.then(function(value) {
-  console.log(value); // "Success!"
- return Promise.reject('oh, no!');
-}).catch(function(e) {
-  console.log(e); // "oh, no!"
-}).then(function(){
-  console.log('after a catch the chain is restored');
-}, function () {
-  console.log('Not fired due to the catch');
-});
-</pre>
-
-<h3 id="Trucos_cuando_lanzamos_errores">Trucos cuando lanzamos errores</h3>
-
-<pre class="brush: js">// Hacer un throw llamará al método catch
-var p1 = new Promise(function(resolve, reject) {
-  throw 'Uh-oh!';
-});
-
-p1.catch(function(e) {
-  console.log(e); // "Uh-oh!"
-});
-
-// Los errores que se lancen dentro de funciones asíncronas actuarán como errores no capturados
-var p2 = new Promise(function(resolve, reject) {
-  setTimeout(function() {
-  throw 'Uncaught Exception!';
-  }, 1000);
-});
-
-p2.catch(function(e) {
-  console.log(e); // Nunca será llamado
-});
-
-// Errores lanzados después de resolve() serán omitidos
-var p3 = new Promise(function(resolve, reject) {
- resolve();
-  throw 'Silenced Exception!';
-});
-
-p3.catch(function(e) {
-   console.log(e); // Nunca será llamado
-});</pre>
-
-<h3 id="Si_se_resuelve_la_promesa">Si se resuelve la promesa</h3>
-
-<pre class="brush: js">// Crea una promesa que no llamará a <code>onReject</code>
-var p1 = Promise.resolve("calling next");
-
-var p2 = p1.catch(function (reason) {
-    // Nunca será llamado
-    console.log("catch p1!");
-    console.log(reason);
-});
-
-p2.then(function (value) {
-    console.log("next promise's onFulfilled"); /* next promise's onFulfilled */
-    console.log(value); /* calling next */
-}, function (reason) {
-    console.log("next promise's onRejected");
-    console.log(reason);
-});</pre>
-
-<h2 id="Especificación">Especificación</h2>
-
-<table class="standard-table">
- <tbody>
- <tr>
- <th scope="col">Specification</th>
- <th scope="col">Status</th>
- <th scope="col">Comment</th>
- </tr>
- <tr>
- <td>{{SpecName('ES2015', '#sec-promise.prototype.catch', 'Promise.prototype.catch')}}</td>
- <td>{{Spec2('ES2015')}}</td>
- <td>Definición inicial en el standar ECMA.</td>
- </tr>
- <tr>
- <td>{{SpecName('ESDraft', '#sec-promise.prototype.catch', 'Promise.prototype.catch')}}</td>
- <td>{{Spec2('ESDraft')}}</td>
- <td> </td>
- </tr>
- </tbody>
-</table>
-
-<h2 id="Compatibilidad_de_navegadores">Compatibilidad de navegadores</h2>
-
-<p class="hidden">To contribute to this compatibility data, please write a pull request against this repository: <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</p>
-
-<p>{{Compat("javascript.builtins.promise.catch")}}</p>
-
-<h2 id="Vea_también">Vea también</h2>
-
-<ul>
- <li>{{jsxref("Promise")}}</li>
- <li>{{jsxref("Promise.prototype.then()")}}</li>
-</ul>