Показать сообщение отдельно
  #2 (permalink)  
Старый 07.12.2020, 15:22
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,760

Сообщение от BBJ
И теперь вызов createData, но тут мне приходит Промис, а это значит снова await или then-catch?
Ну да
async function fillData() {
  <...>
 
  let data = await createData([1,2,3]);
    if (data !== null) {
       
    }
}

Или 
function fillData() {
  <...>
 
  createData([1,2,3]).then(data =>{
    if (data !== null) {
       
    }
    })
}

C ошибками сложнее. Отлавливать ошибки нужно или в самом конце, или исправлять их так, что бы можно было работать дальше. Или передавать дальше именно саму ошибку.
Можно так
async function createData(data: number[]): Promise<any> {
  <всякие разные действия>
 
  let data: any;
  let serv = new MyHelper();
    data = await gs.getBook(1);
  <всякие разные действия>
  return data;
}

function fillData() {
  <...>
try {
  let data = createData([1,2,3]);
} catch (err) {
  console.log(err)
// либо return - выдали сообщение и ничего не делаем
// либо throw ('Произошла фатальнейшая ошибка') // и где то дальше ее отлавливать
}
    if (data !== null) {
       
    }
}
Ответить с цитированием