2017-10-12 4 views
0

나는 세 가지 비동기 기능이 호출되지 않습니다. 나는 순차적으로이 함수를 호출 할 필요가있다, 그래서 나는 이런 식으로 코드를 작성 :이 문서 (https://medium.com/@peterchang_82818/asycn-await-bible-sequential-parallel-and-nest-4d1db7b8b95c),이 작업을 순차적이어야에서 같이비동기 기능은 순차적으로

getData = async() => { 
    try { 
     await getAccounts(); 
     await getPages(); 
     await getDepositList(); 
    } 
    catch(err) { 
     ... 
    } 
} 

을하지만이를 실행할 때, 그들이 함께 호출하고 모든 내 논리가 엉망이되었습니다.

어떻게 순차적으로 이러한 기능을 실행합니까?

+3

관련없는 포인터 :'try/catch' 블록에서 모든'await' 표현식을 감쌀 필요는 없습니다. 다음 예제를 참조하십시오. https://repl.it/M6Cn/3 - 함수 호출 체인 전체에 오류가 전파됩니다. – Svenskunganka

답변

3

실행이 기다리고 있으면 약속이 해결되거나 거부 된 후에 만 ​​실행해야하므로 순차적이어야합니다. 나는 당신도 getData()를 기다리고 있길 바래요?

+0

아니요, getData 함수가 일반 함수에서 호출되었습니다. – modernator

+2

아, 그래, 그게 문제가 될 수 없다, 혼란에 대한 미안. 그것들이 "함께"호출된다고 가정 할 수있는 것은 무엇입니까? –

+0

글쎄, 나는 수영장했다. 내가 기다린 후에 그 내부의 각 함수를 호출 했으므로 무작위로 호출합니다. 고마워요. – modernator