当你有一个承诺时,有时你想确保某些代码始终运行,无论承诺的结果如何。例如,您可能想要隐藏加载微调器或关闭文件连接,无论操作是否成功。在 finally() 之前,开发人员必须在 .then() 和 .catch() 块中复制代码。 finally() 消除了冗余。
fetchData()
.then((data) => {
console.log('Data fetched successfully', data);
})
.catch((error) => {
console.error('Error fetching data', error);
})
.finally(() => {
hideLoadingSpinner(); // Runs no matter the result
});