Как правильно записать в коде async/await javascript

161
22 марта 2022, 13:20

я начинающий разработчик на JavaScript и начал изучат обещания, и меня интересует как правильно использовать в коде async/await. Как записывать обычные Promise я знаю, а как работать async/await пока плохо понимаю, вот мой код, который не работает, помогите пожалуйста, как правильно записать код чтоб он работал.

let sum=(a,b)=>{
 return new Promise((resolve, reject)=>{
     const rez=a+b
     if(rez===10){
       resolve(rez)
     } else{
       reject(new Error(`No number ${rez}`))  
     }
 }
 )}
 let rez2=async function(){
     const re=await sum(5,5)
 }
 console.log(rez2())

Так код работает нормально

let sum=(a,b)=>{
 return new Promise((resolve, reject)=>{
     const rez=a+b
     if(rez===10){
       resolve(rez)
     } else{
       reject(new Error(`No number ${rez}`))  
     }
 }
 )}
sum(5, 9).then(re=>console.log(re)).
  catch(err=>console.log(err.message))
Answer 1

(с)... не сложно

let sum = (a, b) => { 
  return new Promise((resolve, reject) => { 
    const rez = a + b; 
    (rez === 10) ? resolve(rez) : reject(new Error(`No number ${rez}`)) 
  }) 
} 
 
async function rez2(a, b) { 
  // а тут можно поймать ошибку 
  try { 
    return await sum(a, b) 
  } catch (err) { 
    return err.message 
  } 
} 
 
console.log(rez2(5, 5)); 
// Promise { pending } 
 
(async () => { 
  console.log(await rez2(5, 5)) 
})(); 
// 10 
 
(async () => { 
  console.log(await rez2(1, 1)) 
})() 
// No number 2

READ ALSO
php сокеты, ошибка использования socket_connect

php сокеты, ошибка использования socket_connect

Есть нейронная сеть, ожидающая запросов от сервера, написанного на phpПри клике я со страницы отправляю запрос на сервер и получаю ответ

70
Некорректно работает AJAX пагинация

Некорректно работает AJAX пагинация

Всем привет На сайте есть пагинация к статьям, которая работает следующим образом: пользователь нажимает кнопку 'Показать больше статей',...

94
Блок "Поделиться" от Яндекс не отображается

Блок "Поделиться" от Яндекс не отображается

Блок установлен при помощи кода:

141
Как сверстать многоуровневое меню?

Как сверстать многоуровневое меню?

Как сверстать такое многоуровневое меню?

209