El método finalmente() del objeto Promise se usa para devolver una promesa cuando se liquida una promesa, es decir, se cumple o se rechaza. Una Promesa es un objeto de JavaScript que genera un valor después de que una función asíncrona se ejecuta con éxito. Cuando no se ejecuta correctamente debido a un tiempo de espera, genera un error.
Se puede usar para realizar tareas de limpieza una vez que se liquida la promesa, ya que siempre se ejecuta independientemente de si la promesa se cumple o se rechaza. También evita la duplicación de código en los métodos then() y catch() de Promise.
Sintaxis:
task.finally(function() { // Task to be performed when // the promise is settled });
Parámetros: Este método tiene un solo parámetro como se mencionó anteriormente y se describe a continuación:
- onFinally: Es la función que se llamará cuando se liquide la Promesa.
Valor devuelto: Devuelve una Promesa cuyo controlador final está configurado para la función especificada.
El siguiente ejemplo demuestra el método finalmente():
Ejemplo:
Javascript
// Define the Promise let task = new Promise((resolve, reject) => { setTimeout(() => { // Reject the Promise reject("Promise has been rejected!"); }, 2000); }); task .then( (data) => { console.log(data); }, // Handle any error (error) => { console.log("Error:", error); } ) // Specify the code to be executed // after the Promise is settled .finally(() => { console.log( "This is finally() block that is " + "executed after Promise is settled" ); });
Producción:
Error: Promise has been rejected! This is finally() block that is executed after Promise is settled