Тема: catch и then
Показать сообщение отдельно
  #15 (permalink)  
Старый 27.07.2021, 22:56
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,215

Сообщение от fxobject
вот пример с результатом:
let promise = new Promise(function(resolve, reject) {
setTimeout(() => reject(new Error("Whoops!")), 1000);
});
let result = await promise.
catch(function(error){ return 1; }).
then( function(result){ return 2; });
отработают и catch и then
на выходе будет result = 2
порядок имеет значение
Нет желания отвечать - не отвечай, дело хозяйское...

Но я решил потестить твой чудо-пример
let promise = new Promise(function(resolve, reject) {
setTimeout(() => reject(new Error("Whoops!")), 1000);
});
let result = await promise.
catch(function(error){ alert('catch'); return 1; }).
then( function(result){ alert('then'); return 2; });

Так он дает ошибку
Uncaught SyntaxError: await is only valid in async functions and the top level bodies of modules

Т.ч. с работающими примерами у тебя пока туган.
Ответить с цитированием