当你有一个承诺时,有时你想确保某些代码始终运行,无论承诺的结果如何。例如,您可能想要隐藏加载微调器或关闭文件连接,无论操作是否成功。在 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 });