then
- это метод объекта Promise, который добавляет колбэк-функцию для обработки успешного выполнения промиса (переход в состояние fulfilled).
Метод then
принимает два аргумента: колбэк-функцию обработки успешного выполнения и колбэк-функцию обработки ошибки. Оба аргумента являются необязательными и могут быть опущены.
Первый аргумент, передаваемый в метод then
, является колбэк-функцией, которая будет вызвана при успешном выполнении промиса. Эта функция может принимать один аргумент - результат выполнения промиса. Если результат не является объектом ошибки, то он будет передан в качестве аргумента в колбэк-функцию.
Метод then
возвращает новый промис, который может быть использован для выполнения следующей операции или передан в следующий метод then
. Это позволяет создавать цепочки вызовов и обрабатывать результаты асинхронных операций.
Если колбэк-функция, переданная в метод then
, возвращает значение, то это значение будет передано в следующий метод then
цепочки вызовов. Если колбэк-функция не возвращает значение, то следующий метод then
будет передан результат выполнения предыдущего промиса.
Например, следующий код использует метод then
, чтобы обработать результат выполнения промиса:
promise.then(
function (result) {
console.log(result)
},
function (error) {
console.error(error)
},
)
Здесь колбэк-функция, переданная в метод then
, принимает результат выполнения промиса в качестве аргумента и выводит его в консоль. Если промис переходит в состояние отклонено, вызывается второй колбэк-функция, которая обрабатывает ошибку.
В целом, метод then
позволяет добавлять обработчики результатов выполнения промиса и создавать цепочки вызовов, что делает обработку асинхронного кода более удобной и эффективной.