var p1 = new Promise(function(resolve, reject) {
let a=2
if (a>1){resolve("Успех!")}
else{reject("Ошибка!")}
});
p1.then(function(value) {
console.log(value); // Успех! (скрипт продолжает выполнятся )
return value
}, function(reason) {
console.log(reason); // Ошибка! (Тут Скрипт должен прервать дальнейшее выполнение!)
})
.then(function(value){
console.log(value + ' Следующее действие.') //Успех! Следующее действие
})
.then(onFulfilled, onRejected)
вторая функция «ловит» ошибку и обрабатывает её, поэтому выполнение не прерывается..catch()
в конце цепочки.// ...
, function(reason) {
console.log(reason); // Ошибка! (Тут Скрипт должен прервать дальнейшее выполнение!)
return Promise.reject(reason); // передаём пас с ошибкой дальше по цепочке
})
и всё равно добавьте в конце блок .catch()
let a=1
const p1 = (new Promise(function(resolve, reject) {
if (a>1){resolve("Успех!")}
else{reject("Ошибка!")}
}))
.then((value)=> {
console.log(value); // Успех!
return value // Возвращаю результат
}, (reasonnn)=> {
console.log(reasonnn); // Ошибка!
return reject(reasonnn); // Возвращаю отклонение
})
.then(()=>{
console.log('Следующее действие!') // Следующее действие с результатом
})
.catch(()=> {
console.log('catch'); // Действие с отклонением
})