Эта статья связана с понятием Promise.
Кратко
Секция статьи "Кратко"Метод finally
используют для выполнения кода при завершении промиса. Код выполнится как при переходе промиса в состояние fulfilled
, так и в rejected
.
Метод принимает один аргумент:
onDone
— функция-колбэк, которая будет вызвана при завершении промиса
Возвращает новый промис.
Как пишется
Секция статьи "Как пишется"// getPasswords() — асинхронная функция, которая возвращает промисgetPasswords().finally(function () { // выполнится, когда операция завершилась успехом или ошибкой})
// getPasswords() — асинхронная функция, которая возвращает промис getPasswords().finally(function () { // выполнится, когда операция завершилась успехом или ошибкой })
Как понять
Секция статьи "Как понять"finally
выполняет переданный ему колбэк независимо от того, как завершилась асинхронная операция.
Метод используют для того, чтобы избежать повторения кода между then
и catch
. Обычно такой код занимается уборкой после операции — скрывает индикаторы загрузки, закрывает меню и т.д.
Колбэк у finally
не содержит параметров. Это следствие того, что колбэк будет вызван как при успехе, так и при ошибке.
На практике
Секция статьи "На практике"🛠 Всегда завершайте свои цепочки промисов вызовом метода catch
. Если в одной из операций в цепочке произойдёт ошибка и она не будет обработана, то JavaScript выведет сообщение Uncaught
в консоль разработчика и перестанет работать на всей странице.