JavaScript promise.finally()方法

JavaScript promise.finally()方法

JavaScript promise被接受或拒绝,并且始终使用finally()过程。无论promise被完成还是被拒绝,都会调用finally()方法。

一旦异步函数完成,Promise是一个JavaScript对象,它会产生一个值。如果由于超时而无法完成操作,会产生错误。

ES2018引入了finally()函数。如果你想在承诺被实现后清理资源,无论结果如何,都可以将代码放在finally()方法中。

它可以被用来在承诺解决后执行清理任务,因为无论承诺是实现还是被拒绝,它都会被执行。Promise的then()和catch()函数不会被复制。

语法

以下语法使用JavaScript函数来操作promise finally()方法。

promise
    .then(result => { //write code. })
    .catch(error => { //write code. })
    .finally(() => { //write code. })

task.finally(function() {
  // the promise settles and displays as an output 
});

解释:

  • 正如之前指示并在下面进一步解释的那样,该方法只有一个参数。
<!DOCTYPE html>
    <html>
    <head>
    <title> JavaScript's Promise.finally() method </title>
    </head>
    <body>
    <h3> JavaScript's Promise.finally() method  </h3>
    <p> output shows in console tab </p>
    <script>
    const Promise1 = Promise.resolve(80);
    console.log("JavaScript's Promise.finally() method");
    Promise1
      .then((values) => console.log(values))
      .catch((err) => console.log(err))
      .finally(() => console.log("Operations of the  Promise.finally have completed."));
    </script>
    </body>
    </html>

输出

该图像显示了通过finally方法解析数据的前景数据。

JavaScript promise.finally()方法

示例2:

此示例显示了具有promise变量和finally()方法的JavaScript promise函数。在这里,我们使用promise来执行resolve和reject操作,并显示finally()方法的数据。finally方法不会影响已解决和已拒绝的信息。

<!DOCTYPE html>
    <html>
    <head>
    <title> JavaScript's Promise.finally() method </title>
    </head>
    <body>
    <h3> JavaScript's Promise.finally() method  </h3>
    <p> Here, We use only the finally method with a promise to display the required output. </p>
    <p> output shows in console tab </p>
    <script>
    const Promise2 = new Promise((resolve, reject) =>
    setTimeout(reject, 200, 'java'));
    console.log("JavaScript's Promise.finally() method");
    Promise2
      .finally(() => console.log("function of the  Promise.finally() have completed."));
    </script>
    </body>
    </html>

输出

该图像显示了使用finally方法解析数据的承诺数据。

JavaScript promise.finally()方法

示例3:

该示例展示了带有finally方法的JavaScript promise函数。在这里,我们使用promise来使用resolve和reject操作以及值。该方法的信息将显示在输出数据中。

在promise函数中,我们使用resolve和reject条件设置了时间。

<!DOCTYPE html>
    <html>
    <head>
    <title> JavaScript's Promise.finally() method </title>
    </head>
    <body>
    <h3> JavaScript's Promise.finally() method  </h3>
    <p> output shows in console tab </p>
    <script>
    const Promise2 = new Promise((resolve, reject) =>
    setTimeout(reject, 200, 'java'));
    console.log("JavaScript's Promise.finally() method");
    Promise2
      .then((values) => console.log(values))
      .catch((err) => console.log(err))
      .finally(() => console.log("Operations of the  Promise.finally have completed."));
    </script>
    </body>
    </html>

输出

图片展示了使用finally方法数据的承诺和拒绝数据。

JavaScript promise.finally()方法

示例4:

这个示例展示了带有reject和finally方法的JavaScript promise函数。在这里,我们使用一个promise来拒绝操作,并附带一个值。输出数据展示了方法的信息。

<!DOCTYPE html>
    <html>
    <head>
    <title> JavaScript's Promise.finally() method </title>
    </head>
    <body>
    <h3> JavaScript's Promise.finally() method  </h3>
    <p> output shows in console tab </p>
    <script>
    let Promise2 = Promise.reject("Rejected Data");
    console.log("JavaScript's Promise.finally() method");
    Promise2
      .then((values) => console.log(values))
      .finally(() => console.log("Operations of the  Promise.finally() have completed."));
    </script>
    </body>
    </html>

输出

该图像展示了承诺的解析,并使用 finally 方法拒绝数据。
JavaScript promise.finally()方法

示例5

该示例展示了使用JavaScript Promise函数的reject、then和finally方法。方法的信息将与finally方法的输出数据一起显示。无论”then()”方法是否正常工作,最终方法也会执行操作。

<!DOCTYPE html>
    <html>
    <head>
    <title> JavaScript's Promise.finally() method </title>
    </head>
    <body>
    <h3> JavaScript's Promise.finally() method  </h3>
    <p> output shows in console tab </p>
    <script>
    let Promise2 = new Promise((resolve, reject) => {
    setTimeout(() => {
    reject("Promise is rejected!");
    }, 5000);
    });
    Promise2
    .then(
    (data) => {
    console.log(data);
    },
    (error) => {
    console.log("Error:", error);
    }
    )
    .finally(() => {
    console.log(
    "This is finally() block shows final output as an information."
    );
    });
    </script>
    </body>
    </html>

输出

该图像显示了使用“then”和“finally”方法解析数据的承诺数据。

JavaScript promise.finally()方法

示例6:

promise.finally()方法在promise.any()类别中使用以完成操作并显示输出。我们可以使用所有方法来处理可迭代的值。finally()方法调用输入信息并将其显示为输出。

<!DOCTYPE html>
    <html>
    <head>
    <title> JavaScript's Promise.any() method </title>
    <script>
    console.log("JavaScript's Promise.any() method");
    const pr1 = new Promise((resolve, reject) => {
    setTimeout(() => {
    console.log(' first Promise is rejected');
    reject('error');
    }, 1000);
    });
    const pr2 = new Promise((resolve, reject) => {
    setTimeout(() => {
    console.log(' second Promise is fulfilled');
    reject('error1');
    }, 2000);
    });
    Promise.any([pr1, pr2])
    .then((values) => console.log(values))
    .catch((err) => console.log(err))
    .finally(() => console.log("Operations of the  Promise.any() have completed."));
    </script>
    </head>
    <body>
    <h3> JavaScript's Promise.any() method  </h3>
    </body>
    </html>

输出

控制台选项卡显示具有聚合信息的输出。

JavaScript promise.finally()方法

结论

JavaScript的finally()方法是有效的,即使承诺数据被显示或未显示作为输出。它使用JavaScript promises显示默认数据。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程