Для обещания есть две вещи, которые могут быть возвращены Accept
(успех) Reject
(сбой).Обычно мы делаем что-то подобное, чтобы получить ответ на обещание, как вы можете видеть здесь, мы используем 2 временные переменные для оповещения, если успех, то переменная результата будет предупреждена, а если не получится, переменная ошибки будет предупреждена.
let promise = new Promise(function(resolve, reject) {
setTimeout(() => reject(new Error("Whoops!")), 1000);
});
// reject runs the second function in .then
promise.then(
result => alert(result), // doesn't run
error => alert(error) // shows "Error: Whoops!" after 1 second
);
Если вы заинтересованы только в успешном завершении, тогда вы можете использовать это.
let promise = new Promise(resolve => {
setTimeout(() => resolve("done!"), 1000);
});
promise.then(alert); // shows "done!" after 1 second
Что он делает? На самом деле результат будет получен как «выполнено», и как вы уже применили предупреждение, «выполнено» будет передано в предупреждениекак это alert("done")
.
Чтобы поймать напрямую, вы можете использовать это:
let promise = new Promise((resolve,reject) => {
setTimeout(() => reject("failed!"), 1000);
});
promise.catch(alert); // shows "failed!" after 1 second